롸?
자바스크립트 화살표 함수 본문
화살표 함수는 ES6의 문법. function 키워드를 이용한 함수를 간단히 표현한 것으로 화살표 함수는 항상 익명이다.
1. 기본 형태 및 문법
1-1. 기존 문법과 비교
//function 키워드 이용
var foo = function() { /*작업 내용*/ };
//화살표 함수
var foo = () => { /*한 줄밖에 없을 때는 중괄호 생략 가능*/ };
1-2. 매개 변수가 있는 경우
// 매개변수가 하나인 경우
var foo = x => x;
// 매개변수가 여러개인 경우
var foo = (a, b) => a + b;
foo(1, 2); // 3
1-3. 콜백함수에서 사용할 경우
// ES5
var numbers = [1, 4, 9];
var oddArr = numbers.filter(function (x) { return x % 2 !== 0;});
console.log(oddArr); // [1, 9]
// ES6
var numbers = [1, 4, 9];
var oddArr = numbers.filter( x => (x % 2) !== 0 );
console.log(oddArr); // [1, 9]
2. this
기존에 일반 함수는 자신의 this 값을 정의했었지만, 화살표 함수는 전역 컨텍스트에서 실행될 때 this를 새로 정의하지 않는다. 대신 코드의 바로 바깥의 함수(혹은 class)의 this값이 사용된다.
function Person(){
this.age = 0;
setInterval(() => {
this.age++; // |this|는 Person 객체를 참조
}, 1000);
}
var p = new Person();
참고
2. https://poiemaweb.com/js-this
3. https://poiemaweb.com/es6-arrow-function
'WEB > JavaScript & jQuery' 카테고리의 다른 글
[ES6] 비동기 자바스크립트 Promise (0) | 2022.02.07 |
---|---|
[ES6] Spread Operator (스프레드 연산자) (0) | 2022.02.07 |
jQuery (0) | 2020.03.12 |
자바스크립트 이벤트 핸들링 (0) | 2020.03.11 |
자바스크립트 스코프 호이스팅 (0) | 2020.03.10 |
Comments