화살표 함수

김철회·2022년 7월 29일
0

화살표 함수에 대해 알아보자!

es에서 탄생한 주요 문법인 화살표 함수는 기존의 전통적인 함수 표현법을 더욱 간단하게 표현 하기 위해서 탄생했다. 간단하는 것은 곧 코드의 가독성과 효율로 이어질 수 있다.

let sum = function(a,b) {
	return a + b;
};

let sum = (a,b) => a + b;

화살표 함수의 특징

1. 이름이 없다!

화살표 함수는 익명함수여야 한다.

2. this가 없다!

기존의 함수는 함수가 실행될 때, 자신의 Scope안에 자신을 가르키는 this가 존재한다.
하지만, 화살표 함수에는 this가 없다 화살표 함수의 본문( {} 안 )에서 this에 접근하면, 외부의 값을 가져온다.

이에 따라,

  • this를 묶어주는 bind, apply 등을 사용할 수 없다.
  • 생성자 new를 사용할 수 없다.

3. arguments가 없다!

일단, arguments는 뭘까? 나와라 코드 블럭!
arguments는 일반 함수와는 다르게 모든 인수에 접근할 수 있는 유사 배열 객체이다.

const x = function (){
	console.log(arguments); // Arguments(4) [1,2,3,4, calle 어쩌구 저쩌구]
}
x(1,2,3,4);

하지만, 화살표 함수는 arguments가 없어 위의 처럼 쓸 수 없다.

aruments처럼 쓸 수 있는 방법도 있다!

const x = (...args) => {
	console.log(args); // (4) [1,2,3,4]
}

x(1,2,3,4);

es6문법인 전개 연산자를 통해서 비슷하게 사용할 수도 있다!

profile
안녕하세요!

0개의 댓글