Arrow function과 일반 function의 차이
object자료형에서 사용할 때 다름
해당 함수를 호출한 object를 지칭한다.
즉, 해당 기능(function)을 가지고 있는 객체라고 볼 수 있다.
해당 함수의 가장 가까운 외부에 있는 객체를 가리킨다.
생성자 함수 내에서 사용할 경우 둘의 의미는 같지만
객체에 prototype을 지정할 경우 의미가 다소 달라진다.
function Creater(){
this.fx1 = function()
{console.log(this)}
this.fx2 = ()=>{
{console.log(this)}
}
// 출력 결과 같음
var obj1 = {
fx: function () { console.log(this) }
// 콘솔에 fx가 출력된다.
}
obj1.fx()
var obj2 = {
fx: () => { console.log(this) }
// 콘솔에 바로 바깥 객체인 window가 출력된다.
}
obj1.fx()
obj2.fx()