객체를 구성하는 속성(값이나 기능)의 이름과 실제 값을 한 쌍으로 묶어 표현하는 '객체 리터널'을 이용하면 객체를 생성할 수 있다.
이 때 속성의 이름을 키(key), 속성의 실제 값을 밸류(value)라 한다.
const cat = {
name: "국희",
town: "부천"
}
여기서 name과 town은 키, "국희"와 "부천"은 밸류!
속성의 밸류로 함수가 주어지면, 이속성은 메소드가 된다.
const cat = {
name: "국희",
town: "부천",
eat: function(){
console.log("밥 먹는다")
},
scratch: function(){
console.log("건드리면 문다.")
}
}
객체 안의 속성 값을 참조할 때 도트(.)연산자 or 대괄호([]) 연사자를 사용할 수 있다.
//도트 연산자를 사용할 때
console.log(cat.town) // 부천
cat.scratch() // 건드리면 문다.
//대괄호 연산자를 사용할 때
console.log(cat['name]) //국희
cat['eat]() // 밥 먹는다
객체 리터럴의 요소 목록을 펼칠 수 있다. 전개 구문, 전개 연산자 등으로 불린다.
(펼치다 = spread)
객체 리터럴에 대해 스프레드 연산을 수행하면, 구성 요소를 그대로 복사한다.
const bird = {
parrot: "앵무새",
chichen: "닭"
}
const animal = {
...bird,
dog: "강아지"
}
console.log(animal)
이렇게 스프레드 연산을 하면 parrot: '앵무새', chichen:'닭', dog:'강아지'로 나오게 된다.
배열의 요소에도 사용이 가능하다.