1 min to read
화살표 함수
화살표 함수(Arrow Function)
일명 ‘Fat arrow function’ 이라고 하는 화살표 함수는 함수를 정의하기 위해 ES6 에 도입된 구문임. 기존 function 키워드에 비해서 간편하고 표현적인 방법을 제공함.
add = (x, y) => {
return x + y;
}
console.log(add(5,10)); // output: 15
화살표 함수는 콜백함수, 함수표현식과 같은 짧고 간단한 함수에 유용하며, Map, Filter, Reduce 등 같은 배열 메서드와 Promise, async/await 작업 시 자주 사용됨.
화살표 함수 이점
- 간결한 구문
- 어휘적 “This” 바인딩: 화살표 함수 자체에는 “this”값이 없지만 대신 주변 컨텍스트에서 “this”값을 상속받음.
- 인수 객체 없음: 화살표 함수에는 자체 인수 객체가 없고 외부 함수 스코프에서 인수 객체를 상속함.
- 암시적 반환: 단일 표현식이 있는 경우 return 문 없이 작성할 수 있고 표현식의 결과가 암시적으로 반환됨.
- 어휘 범위 지정: 화살표 함수에는 this, super, 인수 및 변수 스코프가 있고, 이런 식별자는 동적 바인딩을 통하지 않고 소스코드 위치 기반으로 확인됨.
화살표 함수는 프로토타입 속성이 없고 생성자로 사용할 수 없음.
let add = (x,y) => x + y;
let square = x * x;
위 처럼 단일 표현식에 대해 return 키워드 생략가능. 표현식이 자동 반환됨.
let add = (x,y) => {
return x + y;
}
화살표 함수는 생성자 함수로 사용할 수 없고 ‘yield’ 문을 포함할 수 없음.