그냥 정보 차원에서 쓰는 거고 크로뮴 계열이나 파이어폭스 퀀텀에서는 SyntaxError가 떠서 이제는 쓰면 안 돼


1. 한 줄 함수


ES6에서 중괄호가 없는 화살표 함수랑 비슷한데 이름을 가질 수 있고 람다가 아닌 정의 형태로 쓸 수 있어


[1, 3, 5, 6, 7, 9].find(function(item) item % 2 == 0);

반환값: 6


표준 문법으로 재작성:

ES5: [1, 3, 5, 6, 7, 9].find(function(item) { return item % 2 == 0; });

ES6: [1, 3, 5, 6, 7, 9].find(item => item % 2 == 0);


function f(x) x * 2;

console.log(f(2));

출력값: 4


표준 문법으로 재작성:

function f(x) { return x * 2; }

또는

var f = x => x * 2;


2. 조건부 캐치


try {

    // 오류가 나는 코드

} catch(e if e instanceof ReferenceError) {

    alert('ReferenceError 발생');

} catch(e if e instanceof TypeError) {

    alert('TypeError 발생');

}


표준 문법으로 재작성


try {

    // 오류가 나는 코드

} catch(e) {

    if(e instanceof ReferenceError)

        alert('ReferenceError 발생');

    else if(e instanceof TypeError)

        alert('TypeError 발생');

}