Arrow Function
화살표 함수는 function 키워드 대신 => 를 사용하여 보다 간락한 방법으로 함수를 선언할 수 있다.
Arrow Function의 선언
// 매개변수 지정 방법
// 매개변수가 없을 경우
() => { ... }
// 매개변수가 한 개인 경우, 소괄호를 생략할 수 있다.
x => { ... }
// 매개변수가 여러 개인 경우, 소괄호를 생략할 수 없다.
(x, y) => { ... }
// 함수 몸체 지정 방법
// single line block
// 함수 몸체가 한줄의 구문이라면 중괄호를 생략할 수 있으며 암묵적으로 return된다.
x => { return x * x }
x => x * x
// 객체를 반환하는 경우. 소괄호를 사용한다.
() => { return { a: 1 }; }
() => ({ a: 1 })
// multi line block.
() => {
const x = 10;
return x * x;
};
Arrow Function과 callback
화살표 함수가 기존의 function키워드를 완전히 대신할 수는 없지만, callback 함수에서 사용하면 간결하게 사용 가능하다.
02.js
const nums = [1, 2, 3, 4, 5,];
const oddNums = nums.filter(n => n % 2);
console.log(oddNums);
Arrow Function과 this
Arrow Function은 자신을 포함하는 외부 scope에서 this를 계승 받는다.
function That() {
this.name = 'ASDF';
setTimeout(function () {
console.log(this.name);
}, 1000);
setTimeout(() => {
console.log(this.name);
}, 1000);
}
That();
728x90
반응형
'Language > JavaScript' 카테고리의 다른 글
[Modern JS] spread 와 rest (0) | 2020.06.14 |
---|---|
[Modern JS] 구조 분해 할당, 비 구조화 할당 (Destructuring Assignment) (0) | 2020.06.05 |
[Modern JS] Template Literal (0) | 2020.05.29 |
[Modern JS] keyword ? var : ( let || const ) (0) | 2020.05.29 |
[Mooodern JavaScript] 모오던 자바스크립트 (0) | 2020.05.29 |