2017-12-14 5 views
4

はいオブジェクトを作成して使用する方法はたくさんあります。だから、なぜ/時には、コンストラクタを作成してクラスを宣言し、constructor()メソッドを使用する方が良いでしょうか?私のインストラクターはそれは違いはないと言いましたが、私は彼を信じていません。コンストラクタ上でJavaScriptでクラスを使用する/使用する理由

// 2 
class Grumpy{ 
    constructor(name, profile, power){ 
     this.name = name; 
     this.profile = profile; 
     this.power = power; 
    } 
} 
+1

参照してください。 javascriptエンジンの内部では、クラスはコンストラクタ構文に変換されます。あなたのインストラクターは正しいです。したがって、2つの間で決定することは、好みのケース、チームが使用するもの、サポートしなければならないブラウザなどです。 – Shilly

+0

またはおそらくhttps://stackoverflow.com/questions/36099721/javascript-what-is-the-difference-between-function-and-class –

+1

のdupの良い理由は、imho、javascriptクラスは、通常、より良いintellisenseの経験を提供していますいくつかのコードエディターで使用された場合、コンストラクターよりも優れています。 – Sergeon

答えて

8
ECMAScriptの2015年に導入さ

JavaScriptのクラス、対

// 1 
function Grumpy(name, profile, power){ 
    this.name = name; 
    this.profile = profile; 
    this.power = power; 
} 

は、JavaScriptの既存のプロトタイプベースの 継承の上に、主に 構文砂糖です。クラス構文では、新しいオブジェクト指向の 継承モデルがJavaScriptに導入されていません。

よりdefailtsについては、クラスの構文はちょうど構文糖であるMDN

+1

これは重複リンクで言われていることではありません! –

関連する問題