2017-05-25 5 views
2

私は角度のドキュメントを読んでいると、すべてのクラスは、プロパティのように定義されています:クラスのプロパティ - ドットまたは等号

class A { 
a = 2; 
}; 

とtypescriptです公式ドキュメントに:

class A { 
a:2 
} 

が理由とされています1つは正しいですか?

+0

どのドキュメントがこれを示していますか? – Aaron

答えて

2

=符号は、値がのクラスメンバーを生成します。 は、タイプがのプロパティを生成しているようですが、実際には値は定義されていません。

翻訳されたコードで簡単に確認できます。

このコード:

class A { 
    x: 2; 
    y = 2; 

    method() { 
    console.log(this.x) 
    } 
} 

console.log(new A().x) 

Transpilesへ:

var A = (function() { 
    function A() { 
     this.y = 2; 
    } 
    A.prototype.method = function() { 
     console.log(this.x); 
    }; 
    return A; 
}()); 
console.log(new A().x); 

あなたはそれが遊び場hereで働いて見ることができます。

関連する問題