[JavaScript]화살표 함수

Ronie🌊·2021년 1월 21일
0

JavaScript😹

목록 보기
1/2
post-thumbnail

익명함수와 즉시실행함수
화살표 함수


익명함수와 즉시실행함수

  • 일반적인 함수
function sum(a,b){
	var m = a + b;
    return m;
 }
  • 익명함수
    함수(function)에는 이름이 없고 함수에 바로 (a,b)라는 인수만 지정됨.
var sum = function(a,b){
	var m = a + b;
    return m;
}
var sumanswer = sum(1,2);
  • 즉시실행함수
    변수 안에 함수와 인수값까지 몽땅 다 집어넣어서 사용하는 것
var sum=(function(a,b){
	var m = a + b;
    return m;
   })(1,2);
   
   console.log(sum);

화살표 함수

무명 함수를 생성하는 방법 중의 하나

(파라메터1, 파라메터2,...) => { 함수내용 }
  • 일반적인 함수
filteredArray = myArray.filter(function(element){
  return element > 2;
});
  • 화살표 함수
filteredArray = myArray.filter(element => element > 2);
  • this가 바인딩하지 않는다는 특징
var myObj = { 
  myText: "hi!",
  
  myFunc: function(){
    setTimeout(function(){
      console.log(this.myText);
    }, 1000)
  },
  
  myFunc2: function(){
    setTimeout(()=>console.log(this.myText), 1000);
  }
};

myObj.myFunc(); // undefined
myObj.myFunc2(); // "hi!"

일반적인 함수는 자체적으로 this가 바인딩되어 자신의 스코프 내의 this를 가져와 this.myText가 undefined된것이고

화살표 함수는 this가 바인딩 되지않아 상위 스코프(myObj)의 this를 가져와 this.myText가 된 것 이다.

0개의 댓글