화살표 함수

황성호·2021년 2월 27일
0
let func = (arg1, arg2, ...argN) => expression

이렇게 코드를 작성하면 인자 arg1..argN를 받는 함수 func이 만들어집니다. 함수 func는 화살표(=>) 우측의 표현식(expression)을 평가하고, 평가 결과를 반환합니다.

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

alert( sum(1, 2) ); // 3

인수가 하나밖에 없다면 인수를 감싸는 괄호를 생략 가능

let double = n => n * 2;
// let double = function(n) { return n * 2 }과 거의 동일합니다.

alert( double(3) ); // 6

인수가 하나도 없을 땐 괄호를 비워놓으면 됩니다.다.

let sayHi = () => alert("안녕하세요!");
sayHi();

본문이 여러 줄인 화살표 함수

let sum = (a, b) => {  // 중괄호는 본문 여러 줄로 구성되어 있음을 알려줍니다.
  let result = a + b;
  return result; // 중괄호를 사용했다면, return 지시자로 결괏값을 반환해주어야 합니다.
};

과제
let ask = (question) => {
confirm(question)?alert("동의하셨습니다."):alert("취소 버튼을 누르셨습니다.")
}

ask("동의하시겠습니까")

+++
'this’가 없는 화살표 함수
화살표 함수는 일반 함수와는 달리 ‘고유한’ this를 가지지 않음
화살표 함수에서 this를 참조하면, 화살표 함수가 아닌 ‘평범한’ 외부 함수에서 this 값을 가져옴

let user = {
  firstName: "보라",
  sayHi() {
    let arrow = () => alert(this.firstName);
    arrow();
  }
};

user.sayHi(); // 보라

https://ko.javascript.info/arrow-functions-basics

profile
개발!

0개의 댓글