화살표 함수(Arrow functions)
화살표 함수는 기존의 function 표현 방식에 비해 간결하게 표현 할 수 있는 방법이다. => 연산자를 사용하고, 익명함수에만 사용할 수 있기 때문에 메서드 형식으로 쓸 수는 없다.
* 익명함수: function(){ .... }
var getName = function(){
console.log('Harvey');
};
getName(); // "Harvey"
위와 같은 ES5의 익명함수 표현식이 있는데
var getName = () => {
console.log('Harvey');
};
getName(); // "Harvey"
이처럼 바꿀 수 있다.
var getName = () => console.log('Harvey');
getName(); // "Harvey"
함수 내의 처리문이 하나인 경우 중괄호도 생략할수 있다.
매개변수
함수는 매개변수(parameter)를 전달받아 일정한 처리 후 값을 리턴하는 등의 일을 할 수 있는데, 이또한 더 간결하게 표현이 된다.
var addNum = function(a, b){
return a+b;
}
console.log(addNum(2, 5)); // 7
이것을 Arrow functions로 바꾸면..
var addNum = (a, b) => {
return a+b;
}
console.log(addNum(2,5)); // 7
이처럼 된다.
var addNum = (a, b) => a + b;
console.log(addNum(2,5)); // 7
처리문이 하나인 경우에는 중괄호 없이 더 간결하게 표현가능한데, 중괄호 없이 변수에 화살표 키워드를 직접 연결하면 변수값이 바로 리턴 된다.
콜백함수
JS에서는 콜백함수(함수에서 매개변수로서 전달되는 함수)를 매우 자주 사용하는데, 이와 같이 쓸 수 있다.
document.addEventListener('click', () => {
. . . . . . . . .
});
여담
codewars 나 progammers 같은 알고리즘 문제 공부 사이트에서 문제를 풀다보면, 내가 푼 문제의 다른 사람의 풀이를 볼 수 있는데, 추천수를 가장 많이 받은 풀이를 보면 화살표 함수를 써서 한두줄로 시크하게(?) 풀어놓은 사람들이 있다. 그게 멋져보여서 공부한 것도 있다 ㅋㅋㅋ
'programming > javascript' 카테고리의 다른 글
[ES6] for ~ of문 (0) | 2018.02.06 |
---|---|
[ES6] 파라미터 핸들링(parameter handling) (0) | 2018.02.06 |
[ES6] 호이스팅(Hoisting) (0) | 2018.02.04 |
[ES6] 상수 const (0) | 2018.02.04 |
[ES6] 변수 & 상수(let) (0) | 2018.02.04 |