言葉でケースを説明するのは難しいので、例を挙げましょう。
var myObj = {
'name': 'Umut',
'age' : 34
};
var prop = 'name';
var value = 'Onur';
myObj[name] = value; // This does not work
eval('myObj.' + name) = value; //Bad coding ;)
JavaScriptオブジェクトの変数値で変数プロパティを設定するにはどうすればよいですか?
myObj[prop] = value;
うまくいくはずです。変数の名前とその値を混同しました。ただし、文字列でオブジェクトのインデックスを作成してそのプロパティを取得することは、JavaScriptで正常に機能します。
myObj.name=value
または
myObj['name']=value (Quotes are required)
これらは両方とも交換可能です。
編集:myObj [name] = valueではなく、myObj[prop] = value
を意味していたと思います。 2番目の構文は正常に動作します: http://jsfiddle.net/waitinforatrain/dNjvb/1/
設定したのと同じ方法でプロパティを取得できます。
foo = {
bar: "value"
}
値foo["bar"] = "baz";
を設定します
値foo["bar"]
を取得するには
「baz」を返します。
値オブジェクト(vo)に似たものを作成することもできます。
SomeModelClassNameVO.js;
function SomeModelClassNameVO(name,id) {
this.name = name;
this.id = id;
}
あなたができるよりも。
var someModelClassNameVO = new someModelClassNameVO('name',1);
console.log(someModelClassNameVO.name);
オブジェクトmyObj
を作成するときは、辞書のように考えてください。この場合、2つのキー、name
、およびage
があります。
これらの辞書には、次の2つの方法でアクセスできます。
myObj[name]
);またはmyObj.name
);一部のプロパティは予約されているため、最初の方法が優先されることに注意してください。プロパティとして問題なくアクセスできるはずです。ただし、配列としてアクセスするには、キーを文字列のように扱う必要があります。
myObj["name"]
そうしないと、javascriptはname
が変数であると想定し、name
という変数を作成していないため、期待するキーにアクセスできません。
このように簡単myObj.name = value;