들어가며
- 이 내용은 Javascript ES6+ 제대로 알아보기 - 초급 강의 중 enhanced Object functionalities 내용을 정리하였습니다.
- 강의링크
Shorthand property
프로퍼티의 key와 value에 할당할 변수명이 동일할 경우 value 생략 가능
기존
1
2
3
4
5
6
var x = 10;
var y = 20;
var obj = {
x: x,
y: y
}
변경
1
2
3
4
5
6
var x = 10;
var y = 20;
var obj = {
x,
y
}
concised method
메소드를 축약해서 쓸 수 있다.
1
2
3
4
var obj = {
name: 'foo',
getName () {return this.name}
}
기존 선언과 다른점
- arguments, caller가 함수 호출 당시에만 접근 가능하다.
prototype이 없다. 즉 생성자 함수가 없으므로 인스턴스 생성을 못한다 (함수의 기능으로만 사용 가능)super를 이용해서 부모 오브젝트의 정의된 같은 이름의 메소드 호출 가능
computed property (계산된 프로퍼티 명)
대괄호 표기법을 객체 안에서도 사용가능 하도록 추가
1
2
3
4
5
const name = 'test';
var obj = {
['test1']: 'foo',
[`${name}2`]: foo2
}