일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 자바스크립트
- es6
- JavaScript
- CORS
- react
- Redux
- 알고리즘
- array
- 원티드
- til
- 프리온보딩
- 리액트
- Component
- react localStorage
- Frontend
- state
- axios
- localstorage
- TypeScript
- 비트 연산자
- firebase
- 컴포넌트
- 프론트엔드
- 파이어베이스
- Reducer
- 브라우저
- 타입스크립트
- 프로그래머스
- JS
- v9
Archives
- Today
- Total
도리쓰에러쓰
[JavaScript] ES6에 추가된 객체 리터럴 기능 3가지 본문
ES6에서는 더 간결하고 가독성 있는 객체 리터럴 기능 3가지를 제공했습니다.
지금부터 그 기능에 대해 알아보겠습니다.
1. 프로퍼티 축약 표현 기능
- 객체 리터럴의 프로퍼티는 프로퍼티 키와 프로퍼티 값으로 구성되어 있습니다.
// ES5
let a = 1, b = 2;
let c = {
a: a,
b: b
};
console.log(c); // {a: 1, b: 2}
- ES6에서는 프로퍼티 값으로 변수를 사용하는 경우 변수명과 프토퍼티 키가 동일한 이름일 때 프로퍼티 키를 생략할 수 있습니다. (프로퍼티 키는 변수명으로 자동 생성)
// ES6
let a = 1, b = 2;
let c = { a, b };
console.log(c); // {a: 1, b: 2}
2. 계산된 프로퍼티명
- ES5에서는 계산된 프로퍼티명으로 프토퍼티 키를 동적 생성하려면 객체 리터럴 외부에서 대괄호[...]로 작성해야합니다.
//ES5
let str = "Hi";
let num = 0;
let obj = {};
obj[str + "-" + ++num ] = num;
obj[str + "-" + ++num ] = num;
obj[str + "-" + ++num ] = num;
console.log(obj); // {Hi-1: 1, Hi-2: 2, Hi-3: 3}
- ES6에서는 객체 리터럴 내부에서도 프로퍼티명으로 프로퍼티 키를 동적 생성할 수 있습니다.
//ES6
let str = "Hi";
let num = 0;
let obj = {
[`${str}-${++num}`]: num,
[`${str}-${++num}`]: num,
[`${str}-${++num}`]: num
};
console.log(obj); // {Hi-1: 1, Hi-2: 2, Hi-3: 3}
3. 메서드 축약 표현
- ES5에서는 메서드 정의하려면 프토퍼티 값으로 함수를 할당합니다.
// ES5
let obj = {
sayHi: function() { return 'Hello World!'; }
}
obj.sayHi(); // 'Hello World!'
- ES6에서 메서드 정의할 때 function 키워드를 생략하여 사용할 수 있습니다.
// ES6
let obj = {
sayHi() { return 'Hello World!'; }
}
obj.sayHi(); // 'Hello World!'
'JavaScript > JS' 카테고리의 다른 글
[JavaScript] 주로 사용하는 배열 메서드 모음 (Array Method Collection) (0) | 2022.03.10 |
---|---|
[JavaScript] 배열 중복 원소 제거해주는 Set 객체 (0) | 2022.03.07 |
[JavaScript] null 병합 연산자 (Nullish Coalescing Operator) - ?? (0) | 2022.03.02 |
[JavaScript] 옵셔널 체이닝 연산자 (Optional Chaining Operator) - ?. (0) | 2022.03.02 |
[JavaScript] 단항 산술 연산자, 문자열 연결 연결자, 비교 연산자, Object.is() (0) | 2022.02.13 |
Comments