JavaScript

Javascript this 쓰기!

ITSkeleton 2020. 6. 5. 20:21
728x90
반응형

this는 호출되는 방법에따라 동적으로 결정되어 보여집니다.

여러번 재사용을 위하여 사용되지만 잘못 이해하고 사용하는 경우 심각한 오류가 될수도 있습니다.

 

this는 전역으로도 사용 가능하고 함수로도 사용이 가능합니다

 

먼저 전역으로 한번 볼까요

this.test = 'test';
console.log(test);
test2 = 'test2';
console.log(this.test2);

// 위의 코드의 this는 window를 의미합니다

함수의 경우를 볼까요

function test() {
 console.log(this);
}

function test2(a, b) {
 this.a = a;
 this.b = b;
}

// test 함수의 this는 window를 반환합니다.
// test2 함수는 두개의 인자값을 받습니다. window.a = a, window.b = b 를 가지게됩니다.

console.log(window.a); // a의 값이 반환됩니다
console.log(window.b); // b의 값이 반환됩니다

객체에서의 경우를 볼까요

const test = {
 test1: 'test',
 test2: 1111,
 getTest() {
  return this.test2;
 }
}

console.log(test.getTest());

이렇게 객체 내부에서 사용되는 this는 객체 내부의 test2를 가르킵니다

728x90
반응형