JavaScript의 화살표 함수(Arrow Function)는 함수 표현을 간결하게 만들어주는 문법입니다. 화살표 함수는 function 키워드 없이 함수를 정의할 수 있으며, this 키워드의 바인딩 방식이 다르게 작동합니다.
기본 문법
화살표 함수의 기본 문법은 다음과 같습니다:
const myFunction = (parameter1, parameter2) => {
// 함수 본문
return something;
}
만약 함수가 한 줄이고 결과를 바로 반환한다면, 중괄호와 return 키워드를 생략할 수 있습니다:
const add = (a, b) => a + b;
하나의 매개변수만 받는 경우, 괄호를 생략할 수 있습니다:
const square = x => x * x;
this의 특성
화살표 함수는 자신만의 this 바인딩을 생성하지 않습니다. 따라서 화살표 함수 내부에서 this를 사용하면, 화살표 함수를 둘러싼 코드의 this 값이 사용됩니다. 이는 특히 객체의 메서드나 이벤트 리스너에서 유용합니다:
const myObject = {
value: 42,
getValue: function() {
setTimeout(() => {
console.log(this.value); // 42
}, 1000);
}
};
myObject.getValue();
화살표 함수의 제한
화살표 함수는 생성자로 사용할 수 없으며, new 키워드로 호출하려고 하면 오류가 발생합니다.
arguments 객체를 사용할 수 없습니다.
화살표 함수는 yield 키워드를 포함할 수 없으므로 제너레이터로 사용할 수 없습니다.
요약
화살표 함수는 간결한 문법과 this 키워드의 특별한 처리 방식을 제공합니다. 한 줄짜리 함수나 특정 문맥의 this를 유지해야 할 때 유용합니다. 그러나 일부 제한 사항이 있으므로, 전통적인 함수 표현이 더 적합한 경우도 있습니다.
'JavaScript' 카테고리의 다른 글
JavaScript Modules ES6 모듈 (0) | 2023.08.23 |
---|---|
JavaScript 클래스(Class) + Getter와 Setter 함수 만들기 (0) | 2023.08.23 |
JavaScript use strict(strict mode) (0) | 2023.08.23 |
JavaScript 호이스팅(hoisting) (0) | 2023.08.23 |
JavaScript 스코프(scope) (0) | 2023.08.23 |