Javascript Object
객체 생성 방법
const kim = {
name: "kim",
age: 10,
job: "Student",
};
// Object 생성자를 사용해 객체를 생성.
const park = new Object();
const person = {};
console.log(person.name); // undefined
person.name = "KimJinYoung";
console.log(person.name); // 'KimJinYoung'
person["age"] = 20;
console.log(person.age, person["age"]); // 20 20
점 표기법 ' . '과 대괄호 표기법 '[ ]' 을 사용해 객체의 속성에 접근 및 수정 가능.
// delete person.name;
if (person.name) {
console.log(person.name); // 'KimJinYoung'
console.log(person["name"]); // 'KimJinYoung'
}
if ("name" in person) {
console.log(person.name); // 'KimJinYoung'
console.log(person["name"]); // 'KimJinYoung'
}
if ("name" in person) {
console.log(person.address); // undefined
console.log(person["address"]); // undefined
}
const person2 = {
name: "Kim",
age: 26,
};
console.log(person2.name); // 'Kim'
console.log(person2["name"]); // 'Kim'
console.log(person2.address); // undefined
console.log(person2["address"]); // undefined
person2.name = "김진영";
console.log(person2.name); // '김진영'
const { name, age } = person2;
console.log({ name, age }); // {name: '김진영', age: 26}
const dog = {
name: "choco",
age: 2,
};
const { name: dogName, age: dogAge } = dog;
console.log({ dogName, dogAge }); // {dogName: 'choco', dogAge: 2}
const calculator = {
add: function (a, b) {
return a + b;
},
sub: function (a, b) {
return a - b;
},
};
console.log(calculator.add(13, 20)); // 33
console.log(calculator.sub(13, 2)); // 11
console.log(calculator["add"](13, 20)); // 33
console.log(calculator["sub"](13, 2)); // 11
// operator 함수는 동적으로 객체의 메소드를 호출하는 예제
function operator(op, a, b) {
return calculator[op](a, b);
}
console.log(operator("add", 10, 1)); // 11
console.log(operator("sub", 10, 1)); // 9