ECMA Script - 람다(arrow) 함수

박성원·2020년 11월 19일
0

ECMA6

목록 보기
4/10
post-thumbnail

람다 함수는 일반적인 함수 표현식을 function 키워드 없이 => 이용하여 표현한 방법

arrow function 표현식

리턴 값이 없는 경우

파라미터가 없고, 리턴 타입 없는 함수 형태

<script type="text/javascript">
  // 화살표 함수
  // const x = function(){
  //   console.log("함수 표현식 x호출");
  // }
  // x();

  const x = () => {
    console.log("람다 함수표현식 x 호출")
  }
  x();
</script>

파라미터가 한개 있고, 리턴이 없는 함수 형태

  const y =(n)=>{
    console.log("n : ",n);
  }
  y(10);

매개변수가 한개인 경우 파라미터의 괄호를 생략할 수 있다.

리턴 값이 있는 경우

리턴문장만 가지고 있다면 {} 와 return 생략가능

  const fnx = n => n*2;
  
  console.log(fnx(10)); // 20

람다함수 사용시 주의할 점 1

json object를 리턴시키고자할 때 json브레이스로 인식하는 것이 아닌, 함수의 실행블록으로 인식되는 것을 피하기 위해 ()를 사용한다.

  const a = () => ({
    key: '홍길동',
  });
  console.log(a());

람다함수 사용시 주의할 점 2

Arrow함수는 this를 바인딩 하지 않는다. 따라서 객체의 메서드를 생성할 때는 사용하지 않도록 한다.

    this.n = 20;

    // 익명함수
    const anone = {
      n: 10,
      b: function () {
        console.log(this.n); // 10
      },
    };
    anone.b();

    // arrow 함수
    const arrowfn = {
      n: 10,
      b: () => {
        console.log(this.n); // 20
      },
    };
    arrowfn.b();
profile
개발 일기장

0개의 댓글