[英]Typescript default property value style guide
是否有任何样式指南定义如何设置默认属性值? 希望官方。
class MyClass {
public foo = 'asdf';
}
和
class MyClass {
public foo: string;
constructor() {
this.foo = 'asdf';
}
}
都编译到
var MyClass = /** @class */ (function () {
function MyClass() {
this.foo = 'asdf';
}
return MyClass;
}());
第一个更干净,类似于C#,但第二个更接近编译输出的语法(如果创建定义文件),属性类型是显式的。
我已经看了https://www.typescriptlang.org/docs/home.html , https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines和https://angular.io/guide/时尚指南
我不知道在任何地方指定这个的“官方”风格指南。
自ES2015以来, 类是JavaScript的一部分 。 如果你的TypeScript 目标版本是ES6
或更高版本,那么以上都编译为
class MyClass {
constructor() {
this.foo = 'asdf';
}
}
此外, JavaScript中的类字段 (截至2017年7月)是第3阶段提案 ,这意味着它们最终会成为语言的机会很大。 所以最终编译的输出可能是:
class MyClass {
foo = 'asdf';
}
所有这一切都是我的说法,我不会太担心你的TS代码“更接近”编译的JS,因为这种差异最终会消失,在此之前,TypeScript的一个要点就是让你今天使用明天的JavaScript功能。 从TypeScript手册 :
在TypeScript中,我们允许开发人员现在使用这些技术,并将它们编译为适用于所有主流浏览器和平台的JavaScript,而无需等待下一版本的JavaScript。
好的,所以我的建议(不是“官方”)是这样做的:
class MyClass {
public foo: string = 'asdf';
}
您已将属性类型显式化并将其初始化为类字段。 这两个世界中最好的,对吧? 也许?
无论如何,希望有所帮助; 祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.