簡體   English   中英

Typescript默認屬性值樣式指南

[英]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.htmlhttps://github.com/Microsoft/TypeScript/wiki/Coding-guidelineshttps://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM