오늘 학습 내용
this에 바인딩될 객체는 자바스크립트 엔진에 의해 함수 호출 패턴에 의해 결정.
let obj = {
name : "jang",
sayName : function(){
console.log(this.name)
}
}
console.log(obj.sayName()); // jang
화살표 함수는 함수를 호출 된 곳이 아니라 함수가 생성된 쪽에서 this가 바인딩
let obj = {
name : "jang",
sayName : function(){
return ()=>{
console.log(this) // {name : “jang” , sayName : f~}
}
}
}
console.log(obj.sayName()()); // {name:"jang", sayName : f}
this는 전역 객체에 바인딩
function Person(name){
this.name = name
}
let me = Person("jang");
console.log(me) // undefined
this는 해당함수에 바인딩
function Person(name){
this.name = name
}
let me =new Person("jang");
console.log(me) // Person {name : "jang"}