[英]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.