화살표(=>)
를 사용하여 간략하게 함수를 정의함{}
생략 가능()
로 감싸줌non-constructor
이다.const Foo = () => {};
//화살표 함수는 생성자 함수로서 호출할 수 없다.
new Foo(); //TypeError: Foo is not a contructor
const arrow = (a, a) => a + a;
//SyntaxError
this
, arguments
, super
, new.target
바인딩을 갖지 않는다.this
, arguments
, super
, new.target
을 참조하면 스코프 체인을 통해 상위 스코프의 this
, arguments
, super
, new.target
을 참조한다.화살표 함수는 함수 자체의 this 바인딩
을 갖지 않는다. 따라서 화살표 함수 내부에서 this
를 참조하면 상위 스코프의 this를 그대로 참조한다. 이를 lexical this
라 한다.