화살표함수

nabisorry·2019년 12월 1일
0

JavaScript

목록 보기
2/9

es6와서 추가된 문법이다.
함수 선언방식으로 더 간결하게 함수를 선언할수 있다.

const a = function() {
  return "hello";
};
const b = function(a) {
  return a * 2;
};
const c = function(a, b) {
  return a + b;
};
const d = function(a, b) {
  console.log(a * b);
};

const a = () => "hello";
const b = a => a * 2;
const c = (a, b) => a + b;
const d = (a, b) => {
  console.log(a * b);
};
const e = () => {
  a:1 ,
  b:2  
};   // 에러 
  

1.매개변수가 하나일 경우 ()생략가능
2.없거나 2개이상일경우 ()생략불가능
3.본문이 단순 return(식or값)일 경우 {}생략가능
4.return 값이 객체일경우 {}생략 불가능

일반 함수 표현식과 차이점

const obj = {
  a: function() {
    console.log(this); //obj
    const b = () => {
      console.log(this); //obj
    };
    b();
  }
};
obj.a();

실행 컨텍스트 생성시 this 바인딩을 하지 않는다.
또한 call,apply로 this를 바인딩해줘도 마찬가지이다.

const a = () => {
  hi: "hello";
};
const b = () => {
  console.log(this);
};
b.call(a); //window
profile
쿨럭쿨럭

0개의 댓글