들어가며
- 이 내용은 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
}