Home Arrow Function 화살표 함수
Post
Cancel

Arrow Function 화살표 함수

  • 화살표 함수에는 없는 것: 함수 이름, this, arguments
  • 생성자로서 사용할 수 없다.

화살표 함수는 항상 익명이다.


1
2
3
4
5
6
7
const myFun = function () {

}

const myFun = () => {

} 
1
2
3
4
5
6
7
8
9
10
11
12
const fn = (a) => {
  console.log(a);
};

fn();



const fn = a => {
  console.log(a);
};

this가 없다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const name = 'ni';

function school (code) {
  return {
    name: 'ken ' + code,
    logName: () => {
      console.log(this.name);
      console.log(arguments);
    }
  };
}

const obj = school(378);
obj.logName(1,2,3);

arguments가 없다.


1
2
3
4
5
6
const myFun = () => {
   console.log(arguments);  // error
}

myFun(1, 2, 3, 4);

화살표 함수에서는 arguments가 없다.

1
2
3
4
5
6
7
8
function outter () {
   const myFun = () => {
      console.log(arguments);
   }
   myFun();
}

outter(1, 2, 3, 4); 

위와 같이 outter 함수를 감싸주면 화살표 함수는 outter의 scope를 참조한다.

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

myFun(1, 2, 3);    

파라미터 부분에 ...args를 사용하면 배열로 받는다.

This post is licensed under CC BY 4.0 by the author.