-
자바스크립트 thisjavascript 2020. 5. 22. 18:06
When a regular function code happens, then the default object is the window object,
this 키워드가 일반 function 이나 그냥 불렸을 때는 window를 의미한다. 따라서 전역 객체로 정의되어 있는 것을 this.a 이런식으로 불러온다.
하지만 오브젝트 안의 메소드안에 this 가 쓰였을때의 this는 그 오브젝트를 의미하게 된다.
var a = 1; function callA(){ var a = 2; console.log(this.a); //출력값 : 1 //this.a이기 때문에 window에 전역변수로 선언된 a가 호출됨 console.log(a); //출력값 : 2 //callA에 지역변수로 선언된 a가 호출됨 } callA(); var john = { name : "John", yearOfBirth : 1999, calculateAge : function(){ console.log(this); //메소드 안의 this 이므로 john이라는 오브젝트를 의미한다. console.log(this.yearOfBirth); function innerFunction(){ console.log(this); //메소드 안에 쓰인 일반 function에서 쓰인 this이므로 window를 의미한다. } innerFunction(); } } john.calculateAge();
참조 :
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/this
Udemy - The Complete JavaScript Course 2020 : Build Real Projects!
https://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work
'javascript' 카테고리의 다른 글
function (0) 2020.05.28 Creating Object (0) 2020.05.27 자바스크립트 Object (0) 2020.05.22 자바스크립트 예제 (0) 2020.05.22 자바스크립트 Truthy and Falsy values, equality operators (0) 2020.05.21