Modern Javascript #2

8.11 ECMAScript 6부터 추가된 함수

화살표 함수, 나머지 매개변수, 인수의 기본값, 이터레이터, 제너레이터, 템플릿 리터럴의 태그 함수

화살표 함수 표현식으로 함수 정의하기

화살표 함수 표현식은 함수 리터럴(익명 함수)의 단축 표현이지만 함수 리터럴과 완전히 같은 것은 아니다.

[화살표 함수 표현식의 작성법]

var square = function(x) { return x*x; }; // 기존의 함수 리터럴로 정의한 함수
var square = (x) => {return x*x; };

var f = (x, y, z) => { ...}; // 인수가 여러 개 있을 시엔 쉼표로 구분
var square = x => { return x*x; };

// 함수 몸통 안의 문장이 return뿐이면 중괄호와 return 키워드를 생략할 수 있다.
var square = x => x*x;

// 함수 몸통 안에 return 문장만 있더라도 함수 반환값이 객체 리터럴이라면 그룹 연산자인 ()로 객체 리터럴을 감싸야 한다.
var f = (a, b) => ( {x: a, y: b} );

// 화살표 함수도 즉시 실행 함수(IIFE)로 사용 가능
(x => x*x)(3); // 9