# 객체 리터럴
자바스크립트에서 단순한 데이터 타입은 number
, string
, boolean
, null
, undefined
가 있습니다. 이외의 나머지 값들은 모두 객체 입니다. 숫자, 문자열, 불리언은 메소드가 있기 때문에 유사 객체라고 불리기도 합니다. 하지만 이들은 값이 정해지면 변경이 될 수가 없습니다. 자바스크립트에서 Array
, Function
, Regex
과 같은 것이 객체 입니다.
자바스크립트에는 객체에 있는 속성들을 다른 객체에 상속하게 해주는 프로토타입 연결 특성이 있습니다. 이 특성을 잘 활용하면 객체를 초기화 하는 시간과 메모리 사용을 줄일 수 있습니다.
객체 리터럴은 새로운 객체를 생성할 때 매우 편리한 표기법을 사용합니다. 이 표기법은 하나 이상의 이름/값 쌍들을 둘러싸는 중괄호로 표현합니다.
let empty_object = {}; // 빈 객체 생성
let user = {
name: 'damo',
age: 43,
}; // user 객체 생성
속성(Property)의 이름은 어떤 문자열이라도 가능합니다. 여기에는 빈 문자열도 포함이 되며 속성 이름에 사용할 수 있는 유효한 이름이고 예약어가 아닌경우에는 생략이 가능합니다. 쉼표는 속성:값 들을 구분하는데 사용합니다.
let user = {
'first-name': 'John', // 속성에 따음표가 필요함
last_name: 'Kim', // 속성에 따음표 생략이 가능함
};
속성의 값에는 어떠한 표현식도 가능합니다. 다음긔 객체 리터럴도 가능합니다.
let user = {
name: 'Damo',
age: 34,
skills: ['Html5', 'CSS', 'Javascript'],
isHuman: true,
location: {
country: 'kr',
state: 'seoul',
},
};