function sum(a,b){
var m = a + b;
return m;
}
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);
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가 된 것 이다.