同じオブジェクト リテラル内の別のプロパティ内から、オブジェクト リテラル内の入れ子になったプロパティを参照したいと考えています。
次の不自然な例を考えてみましょう:
var obj = {
product1: {
price: 80,
price_was: 100,
discount: function(){
return 100 - (100 * (price/price_was));
//I don't want to use:
//100 - (100 * (this.product1.price/this.product1.price_was))
//because the name of the parent ('product1' in this case) isn't known
//a-priori.
}
}
}
上記は明らかに間違っていますが、「discount」内から「price」と「price_was」を取得するにはどうすればよいですか?
次の質問を見ましたが、これは近いですが、その質問では、必要なプロパティは「this」の直接の子であり、上記の例ではそうではありません。 オブジェクトリテラルで変数を参照しますか?
これを行う方法はありますか?