次のような 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());