하나의 이름에 여러 종류의 값을 넣을 수 있게 해줌
const dogName = '멍멍이';
const dogAge = 2;
console.log(dogName); // 멍멍이
console.log(dogAge); // 2
const dog = {
name: '멍멍이',
age: 2,
}
console.log(dog); // Object {name: "멍멍이", age: 2}
console.log(dog.name); // 멍멍이
console.log(dog.age) // 2
key: value 식으로 넣어줘야함.
key에 공백을 넣으려면 'key with space' 식으로 따옴표를 감싸야.
반드시 쉼표를 넣어줘야 함.
const ironMan = {
name: '토니 스타크',
actor: '로다주',
alias: '아이언맨'
}
function print(hero) {
const text = `${hero.alias}(${hero.name}) 역할을 맡은 배우는 ${hero.actor} 입니다.`;
console.log(text);
}
print(ironMan); // 아이언맨(토니 스타크)역할을 맡은 배우는 로다주 입니다.
객체에서 특정 값을 추출하는 것
function print(hero) {
const { alias, name, actor } = hero; // 객체에서 값을 빼옴
const text = `${alias}(${name}) 역할을 맡은 배우는 ${actor} 입니다.`;
console.log(text);
}
print(ironMan); // 아이언맨(토니 스타크)역할을 맡은 배우는 로다주 입니다.
function print({ alias, name, actor }) {
const text = `${alias}(${name}) 역할을 맡은 배우는 ${actor} 입니다.`;
console.log(text);
}
식으로도 사용가능
const dog = {
name: '멍멍이',
sound: '멍멍!',
say: function say() {
console.log(this.sound);
}
};
const cat = {
name: '야옹이',
sound: '야옹'
};
dog.say(); // 멍멍!
dog.say = cat.say // dog.say의 function say()가 cat안으로 들어가면서 this가 cat을 가리키게됨
cat.say(); // 야옹
함수에 있는 this를 넣을 경우 this는 속해있는 객체를 가리킨다.
이때 화살표 함수를 쓰게 되거나, 새 const값을 설정하면 this 관계가 설정되지 않아 undefined 값이 나온다.