화살표함수(Arrow Function) 연습

박상록(Sangrok Park)·2020년 11월 3일
0

**화살표함수

보통 함수표현식(function expression)을 축약한 형태로 표시**

함수 표현식

const tester = function (a, b) {
  return a * b;
}

화살표 함수

const tester = (a, b) => {
  return a * b;
} 

function키워드를 =>화살표 표시로 축약해서 표현.

const tester = (a, b) => a * b;

함수 body에 return문만 존재하는 경우, return생략 가능. 이 경우 { } 중괄호 사용 안 됨.

위는 정상출력, 아래는 undefined.

body 내용이 두 줄 이상일 경우, 그냥 return문을 쓰자.

Closure 표현

// (1)

const tester = x = y => x + y;

// (2)

const tester = x => {
  return y => x + y;
}

// (3) 

const tester = function tester (x) {
  return function (y) {
    return x + y;
  }
}


결국 위 3개 다 같은 이야기

화살표 함수 특징

화살표 함수의 실행은 this를 결정짓지 않는다.
화살표 함수는 arguments값을 갖고있지 않는다.
call, apply, bind 사용할 수 없음.

일반 함수 사용시

정상적으로 this.infoarguments정보 출력 완료.

화살표 함수 사용시

같이 화살표 함수로 바꿨음에도 불구하고, sum(1, 2)는 정상출력, this.info, arguments정보는 각각 undefined, ReferenceError 출력.

즉, 화살표 함수는 this값을 가지지 않는다는 것.

profile
한 줌의 소금과 같이 되고 싶은 개발자

0개의 댓글