사례를 말로 설명하는 것은 어렵습니다. 예를 들어 보겠습니다.
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[prop] = value
myObj [name] = value 대신 을 의미한다고 생각합니다 . 두 번째 구문이 잘 작동합니다 : 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
가지고있는대로 객체를 만들 때 더 사전과 비슷하다고 생각하십시오. 이 경우 두 개의 키 name
, 및age
.
다음 두 가지 방법으로 이러한 사전에 액세스 할 수 있습니다.
- 배열처럼 (예 :
myObj[name]
; 또는 - 속성 (예 🙂
myObj.name
; 일부 속성은 예약되어 있으므로 첫 번째 방법이 선호됩니다.
아무 문제없이 속성으로 액세스 할 수 있어야합니다. 그러나 배열로 액세스하려면 키를 문자열처럼 처리해야합니다.
myObj["name"]
그렇지 않으면 자바 스크립트가 name
변수 라고 가정하고 라는 변수를 만들지 name
않았기 때문에 원하는 키에 액세스 할 수 없습니다.
답변
이렇게 간단하다
myObj.name = value;
답변
