ES6では、これらは両方とも合法です。
var chopper = {
owner: 'Zed',
getOwner: function() { return this.owner; }
};
そして、速記として:
var chopper = {
owner: 'Zed',
getOwner() { return this.owner; }
}
新しい矢印機能も使用できますか?のようなことを試みることで
var chopper = {
owner: 'John',
getOwner: () => { return this.owner; }
};
または
var chopper = {
owner: 'John',
getOwner: () => (this.owner)
};
メソッドがにアクセスできないことを示唆するエラーメッセージが表示されthis
ます。これは単なる構文の問題ですか、それともES6オブジェクト内でファットパイプメソッドを使用できませんか?
this
異なることです。これは、関数が作成された字句環境によって定義されthis
ます。つまり、chopper
変数を作成するthis
値が関数の値になります。つまり、chopper
オブジェクトを参照することはありません。