私はjavascriptで次のことをしたいのですが、ここで理解していない構文について何かがあります:
var theObj = { foo: val1, bar: val2 }
if ( condition ) {
theObj[foo] = newVal
return theObj // returns { foo: val1, bar: newVal }
}
return theObj // returns { foo: val1, bar: val2 }
私はjavascriptで次のことをしたいのですが、ここで理解していない構文について何かがあります:
var theObj = { foo: val1, bar: val2 }
if ( condition ) {
theObj[foo] = newVal
return theObj // returns { foo: val1, bar: newVal }
}
return theObj // returns { foo: val1, bar: val2 }
あなたが持っているのはオブジェクト配列ではなく、むしろオブジェクトリテラルです。通常、そのプロパティは としてアクセスされますが、JavaScript は、プロパティ名の文字列操作などの操作を行う必要がある場合 ( など)、またはドット表記で無効なプロパティ (数値プロパティなど)theObj.property
の代替構文を提供します。theObj["property"]
theObj["property_" + numberVar]
theObj[12] = "twelve"
を介してプロパティにアクセスする場合[]
は、文字列を引用する必要があります。そうしないと、パーサーはそこに挿入する["foo"]
名前の変数を探します。foo
ただし、この単純な文字列プロパティは、ドット表記でより適切にアクセスできます。
if ( condition ) {
theObj.foo = newVal
return theObj // returns { foo: val1, bar: newVal }
}