본문 바로가기
BACK&PRONT

javascript this 관련

by 코딩두통 2023. 1. 8.
728x90
const car = {
	name: "KIA",
    getName: function(){
    	console.log("car getNAme", this);
     
    },
}

car.getName();  // {name: 'KIA' , getName: f } 

 getName은 function으로 찍혀 나온다

 

그렇지만 

 

const globalCar = car.getName;
globalCar();

을 쓰게 되면

window{window: window, self: window, d ... }

이런식으로 나오게 된다

 

이유 car.getName()을 불렀을땐 car 안의 내용을 부른거지만

globalCar() 은 밖에서 호출된것이라서 누굴 불러오는지 멘션이 없기때문에 밖에서의 최상단은 window객체라서 그런거임

 

//그래서 this는 함수가 호출될때 결정이 된다

 

 

const car2 ={
	name = 'hyndai',
    getName: car.getName
};

car2.getName();

car2.getName();  // {name: 'hyndai' , getName: f }  

이걸 보게되면 호출 하는 아이를 this로 잡는것이 보이는거임

 

 

this를 잡아주는 방법 

https://park-sw.tistory.com/14

728x90

댓글