티스토리 뷰

 

Arrow Function (화살표 함수)

- function 키워드가 없어도 함수를 만들 수 있음

- return을 사용하지 않아도 식을 계산한 값이 자동으로 변환

-> 이를 화살표(=>)를 사용하여 모든 함수 정의를 한줄로 끝냄

var lordify = firstName => '캔터베리의 ${firstName}'
//예전 방식
var lordify = function(firstName, land) {
  if (!firstName) {
    throw new Error('lordify에 이름을 넘겨야 합니다')
  }

  if (!land) {
    throw new Error('영주에게는 영지가 있어야 합니다')
  }

  return '${land}의 ${firstName}'
}

//새로운 방식
var lordify = (firstName, land) => {
  if (!firstName) {
    throw new Error('lordify에 이름을 넘겨야 합니다')
  }

  if (!land) {
    throw new Error('영주에게는 영지가 있어야 합니다')
  }
  return '${land}의 ${firstName}'
}

console.log(lordify("이계영", "맬버른")) //멜버른의 이계영
console.log(lordify("오현석")) //오류!

 

- this를 새로 바인딩 하지 않음

var gangwon = {
  resorts: [
    "용평", "평창", "강촌", "강릉", "홍천"
  ],
  print: function(delay = 1000) {
    setTimeout(function() {
      console.log(this.resorts.join(","))
    }, delay)
  }
}

gangwon.print() //Cannot read property 'join' of undefined 오류 발생!

//수정
var gangwon = {
  resorts: ["용평", "평창", "강촌", "강릉", "홍천"],
  print: function(delay = 1000) {
    setTimeout(() => {
      console.log(this.resorts.join(","))
    }, delay)
  }
}

gangwon.print() //용평, 평창, 강촌, 강릉, 홍천

 

'LANGUAGE > JAVA SCRIPT' 카테고리의 다른 글

[JAVA SCRIPT] AJAX  (0) 2019.02.06
[JAVA SCRIPT] CONST, LET, VAR  (0) 2018.12.15
[JAVA SCRIPT] DOM  (0) 2018.10.16
[JAVA SCRIPT] OBJECT - 객체  (0) 2018.10.14
[JAVA SCRIPT] FUNCTION - 함수  (0) 2018.10.11
댓글