생성방법이 크게 두가지가 있다.
1. 기본 new 연산자와 Obeject 생성자를 이용.
var person = new Object(); person.name = "hodoogwaja"; person.age = 50;
2. 객체 리터럴 표기법
var person = { "name" : "hodoogwaja", "age" : 50, };
객체 리터럴은 짧게, 쉽게 쓸수 있도록 디자인된 표기법이니 이걸 쓰는게 좋다.
이 두예제는 같은 의미이며 name,age 두 프로퍼티를 만든다.
리터럴에서는 숫자형프로퍼티도 쓸수 있다. 하지만 문자열로 바뀐다.
함수에 옵션 여러 매개변수를 넘길때 유용한 객체 리터럴
function displayInfo(args){ var output = ""; if(typeof args.name === "string"){ output += "Name : " + args.name + "\n"; } if(typeof args.age === "number"){ output += "age : " + args.age + "\n\n"; } console.log(output); } displayInfo({ "name" : "hodoogwaja", "age" : 100 }); displayInfo({ "name" : "heajin" });
대괄호로 프로퍼티 추가
console.log(person["name"]); console.log(person.name);
위 두개는 똑같다. 근데 대괄호 표기법이 좋은 이유는 대괄호 안에 변수가 들어갈 수 있다는거다. 공백이나 뭐 이상한 문자같은걸 프로퍼티에 넣어야 되는 경우에 쓰면 좋다.