자바스크립트에서의 객체 리터럴
객체
자바스크립트는 객체 기반의 프로그래밍 언어이다. 원시 값을 제외한 나머지 값은 모두 객체이다. 객체는 변경 가능한 값
이다. 0개 이상의 프로퍼티로 구성되어 키
와 값
으로 구성된다.
자바스크립트의 객체는 일급 객체로 함수
도 프로퍼티 값으로 사용할 수 있다. 이를 메서드
라고 부른다.
먼저 리터럴
이란 데이터를 표현하는 방식
이라고 생각하면 된다. 즉 변수를 선언함과 동시에 그 값을 지정해주는 표기법을 말하는데, 이를 객체를 선언할 때 사용할 수 있다. {}
중괄호 내에 0개 이상의 프로퍼티를 정의한다.
프로퍼티
객체는 프로퍼티의 집합이며, 프로퍼티는 키
와 값
으로 구성된다. 프로퍼티를 나열할 때 ,
로 구분한다. 키의 값은 암묵적으로 문자열
이 된다.
프로퍼티에 접근하는 방법에는 마침표 표기법
과 대괄호 표기법
이 있다.
var person = {
name :'LEE'
};
console.log(person.name);
console.log(person['name']);
마침표 표기법의 경우 키의 값을 반드시 따음표로 감싼 문자열이여야 하고 객체에 존재하지 않는 프로퍼티에 접근하면 undefined
를 반환하니 주의해야한다.
존재하지 않는 프로퍼티에 값을 할당하면 동적으로 생성되고 프로퍼티 값이 할당된다.
delete
연산자를 통해 프로퍼티를 삭제할 수 있다.
delete person.age;
ES6에서 추가된 객체 리터럴의 확장 기능 프로퍼티 키와 변수 이름이 같은 경우
프로퍼티 키를 생략할 수 있다.
let x = 1, y = 2;
const obj = {x, y};
console.log(obj); //{x:1, y:2}
또한 메서드 축약 표현으로 function 키워드를 생략할 수 있다.