[Arrow Function Expression] 화살표 함수

JP·2023년 1월 27일
0

[Arrow Function Expression] 화살표 함수

화살표 함수 는 전통적인 function 함수 의 간편한 대안이다. function 키워드 대신 => 화살표를 사용하여 보다 간략한 방법으로 함수를 선언 할 수 있다.
기존의 함수 표현식에서 function 키워드를 지우고 인자를 받는 매개변수의 ( )괄호 와 {} 코드 블럭 사이에 => 화살표만 넣어주면 된다.
만약 함수 내부의 내용이 return (반환값) 만 있다면 코드블럭 인 {} 중괄호 와 return 을 생략 할 수 있다.그리고 인자가 만약 하나만 있다면 매개변수의 () 또한 생략할 수있다. 두개 이상은 ()괄호가 사용 되어야 한다.

화살표 함수의 구체적인 문법

	() => {} 
    매개 변수가 없을 경우 
    a => {}
    매개변수가 한 개인 경우에는 () 괄호를 생략 할 수 있다.
    (a,b) => {} 
    매개변수가 2개 이상인 경우 , ()괄호를 생략 할 수 없다.
    a => a + a
    함수가 한줄의 구문이라면 중괄호를 생략 할 수 있고, 암묵적으로 return 이 된다. 

화살표 함수 는 this 바인딩 하지 않는다.

화살표 함수는 기존 함수의 기능을 문법적으로 편하고 직관적으로 보여지기 위해 만들어진 이유도 있지만, 함수를 보다 더 가볍게 하기 위해서 만들어진 목적이 더 크다.
함수를 실행 했을때, 함수가 가지고 있는 데이터를 전부 들고 컨텍스트를 생성하고 하는 등 내부에서 하는 일들이 많아서 무거웠으나 이렇게 기존에 무거웠음에도 무리없이 실행이 된 것은 무엇보다 컴퓨터의 성능이 좋아진 이유에 있다. 하지만 더이상 함수의 성능적 이슈를 방치할 순 없어서 좀더 가볍게 합수를 만들고자 화살표 함수가 나타난 것이다.
함수의 성능을 높이기 위해 변화된 것 중의 하나가 this 바인딩 이다.
**화살표 함수는 함수 스코프를 생성한다 하지만, 실행 컨텍스트 생성시 this 를 바인딩 하지는 않는다.

profile
🐰와 🐢에 🐢

0개의 댓글