본문 바로가기
Internship

this

by Doromi 2019. 5. 4.
728x90
반응형

자바스크립트에서 함수의 this 키워드는 다른 언어들과 비교하여 조금 다르게 동작한다.

 

 

자바스크립트의 this는 누가 실행했냐 이다.

 

대부분의 경우, this의 값은 함수를 호출하는 방법에 의해 결정된다.
ES5는 함수의 this 값이 함수가 어떻게 호출되었는지 개의치 않고 설정할 수 있는 bind 메소드를 소개했다.

var someone = {
	name : 'doromi',
	whoAmI : function(){
		console.log(this);
     }
 };
 
 someone.whoAmI();

이 코드의 결과는

{name : "doromi", whoAmI : f}

 

whoAmI를 직접적으로 호출한 객체는 someone이다.

 

 

var someone = {
	name : 'doromi',
	whoAmI : function(){
		console.log(this);
     }
 };
 
 var myWhoAmI = someone.whoAmI;
 mywhoAmI();

이 코드의 결과는 window이다.


예외적으로 호출과 무관하게, bind함수를 쓰면 묶인 객체를 기준으로 this가 된다.

그 외에는 무조건 다 호출한 객체가 this이다.

728x90
반응형

'Internship' 카테고리의 다른 글

Git branch->master, conflict 나는 경우, rebase  (2) 2024.01.12
Async/Await  (0) 2019.05.04
var vs let  (0) 2019.05.04
scope와 closures  (0) 2019.05.04
프로미스  (0) 2019.05.04