JavaScript オブジェクトはどのようにして自身の値を参照できるのでしょうか? [重複] 質問する

JavaScript オブジェクトはどのようにして自身の値を参照できるのでしょうか? [重複] 質問する

次のような JavaScript があるとします。

var obj = {
 key1 : "it ",
 key2 : key1 + " works!"
};
alert(obj.key2);

このエラーは「key1が定義されていません」というものです。私は試してみました

this.key1
this[key1]
obj.key1
obj[key1]
this["key1"]
obj["key1"]

そしてそれらは決して定義されないようです。

key2 が key1 の値を参照するようにするにはどうすればよいですか?

ベストアンサー1

関数の属性を削除することを検討してもよいかもしれません。つまり、次のようになります。

var obj = {
  key1: "it ",
  key2: function() {
    return this.key1 + " works!";
  }
};

alert(obj.key2());

おすすめ記事