ES6 에서 도입된 새로운 함수 작성법
호출할 때는 es5나 es6나 같다 (getName()
)
()
안에 있는 매개변수가 인자를 받아 =>
로 {}
함수 블록에 전달 한다는 의미인 것 같은데..
참고자료
MDN arrow function
arrow function은 function 표현에 비해 구문이 짧고,
자신의 this, arguments, super, new.target을 포함하지 않는다
항상 익명이고 생성자로서 사용이 불가하다
// ES5 익명함수
function() {}
// ES6 익명함수
() => {}
// ES5 함수 선언
function getName() {}
// ES6 함수 선언
const getName = function() {}
()
생략이 가능
// ES5
const getName = function(name) {}
function getName(name) {}
// ES6
const getName = (name) => {}
const getName = name => {}
()
생략 불가
// ES5
const getName = function() {}
function getName(name, age) {}
// ES6
const getName = () => {}
const getName = (name, age) => {}
{return ...}
에서 {}
, return
생략 가능
// ES5
function getName(name) {
return name;
}
// ES6
const hi = name => {return name};
const hi = num => num * 2; // 단순히 계산식 리턴할때 {}, return 생략 가능