키 - 값 쌍으로 구성된다 리터럴 객체 객체 리터럴의 사용에 깊이 더 많은 것입니다. JavaScript의 키는 항상 문자열이며 값은 모든 데이터 유형이 될 수 있습니다.
JavaScript는 키 정의를위한 통사론을 제공합니다.예를 들어 문자열 리터럴과 달리 키를 인용 할 필요는 없습니다. 따라서, 다음의 두 가지 예는 동일 :
{ x: 0 } // example 1
{ "x": 0 } // example 2
그러나 이런 문법적은 그들 사이에 (즉, 공백, 탭, 개행 등) 공백없는 식별자 작동한다. 예를 들어, 다음은 자바 스크립트에 잘못되었습니다
{ "a property": 0 } // valid
또한 사용할 수 있습니다 부울 (true
또는 false
), 숫자 리터럴과 undefined
:
{ a property: 0 } // whitespace not allowed in identifiers
당신이 식별자를 인용하여이 제한을 해결할 수 있습니다 그러나 및 키로 null
. 그러나 문자열에 강제로 저장된다는 점을 기억하십시오. 따라서 당신은 할 수 있습니다 :
var o = {
undefined: 1,
null: 2,
true: 3,
false: 4,
0: 5
};
는 그런 다음으로 액세스 할 수 있습니다 :
alert(o.undefined); // 1
alert(o.null); // 2
alert(o.true); // 3
alert(o.false); // 4
alert(o[0]); // 5
마지막 문장이 중요하다. 숫자 리터럴 자체는 유효한 식별자로 분류되지 않습니다. 따라서 점 표기법 (.
) 대신 배열 괄호 표기법 ([]
)을 사용하여 액세스해야합니다. 자바 스크립트에서 모든 키 이후
은 당신도 할 수있는 문자열입니다
alert(o["undefined"]); // 1
alert(o["null"]); // 2
alert(o["true"]); // 3
alert(o["false"]); // 4
alert(o["0"]); // 5
당신이 키와 객체, 배열 또는 함수를 사용할 수 없습니다 그러나
. 예를 들어 다음은 유효하지 않습니다.
{ {1: 2}: 3 } // objects can't be used as keys
{ [1]: 2 } // arrays can't be used as keys
{ function() {}: true } // functions can't be used as keys
그게 당신이 객체 리터럴에 대해 알아야 할 전부입니다.
보너스 포인트를 얻으려면 누군가가 mozilla의 개발자 페이지 이외의 적절한 자바 스크립트 리소스를 추천 할 수 있고 1000 페이지 길이가 아니라면 고맙겠습니다. – MYV
http://www.amazon.com/gp/aw/d/1847194141 객체 지향 자바 스크립트 - 서적 –
http://javascriptissexy.com/javascript-objects-in-detail/ – LUKE