Javascript
[Javascript] 화살표함수
program-yam
2024. 8. 22. 20:59
함수 표현식보다 단순하고 간결한 문법으로 함수를 만들 수 있는 방법이 있다.
바로 화살표 함수를 말하는데, 화살표 함수라는 이름은 문법의 생김새를 차용해 지어졌다.
let func = (arg1, arg2, ...argN) => expression
위처럼 코드를 작성하면 인자 arg1..argN을 받는 함수 func가 만들어지고,
함수 func는 화살표 우측의 표현식을 평가하고, 평가 결과를 반환한다.
let sum = (a, b) => a + b;
/*
위 화살표 함수는 아래 함수의 축약 버전이다.
let sum = function(a, b) {
return a + b;
};
*/
console.log( sum(1, 2) ); // 3
위처럼 ( a, b ) => a + b는 인수 a와 b를 받는 함수다.
( a, b ) => a + b 는 실행되는 순간 표현식 a + b를 평가하고 그 결과를 반환한다.
※ 인수가 하나밖에 없으면 인수를 감싸는 괄호를 생략할 수 있다
let double = n => n * 2;
// let double = function(n) { return n * 2 }과 동일하다.
console.log( double(3) ); // 6
※ 인수가 하나도 없을 경우 괄호를 비워놓으면 된다. 다만, 이 때 괄호는 생략할 수 없다.
let sayHi = () => console.log("안녕하세요!");
sayHi();
화살표 함수는 함수 표현식과 같은 방법으로 사용할 수 있다.
let age = prompt("나이를 알려주세요.", 18);
let welcome = (age < 18) ?
() => console.log('안녕') :
() => console.log("안녕하세요!");
welcome();
위처럼 함수를 동적으로 만들 수도 있다.