생성방법이 크게 두가지가 있다.
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);
위 두개는 똑같다. 근데 대괄호 표기법이 좋은 이유는 대괄호 안에 변수가 들어갈 수 있다는거다. 공백이나 뭐 이상한 문자같은걸 프로퍼티에 넣어야 되는 경우에 쓰면 좋다.