obecjt
-
자바스크립트 this의 정의프론트엔드/JavaScript 2020. 9. 14. 05:54
자바 스크립트에서 'this'란 'this'를 포함하고 있는 함수가 어느 'context' 즉 어느 문맥에서 호출됐느냐를 가리키는 말이다. 사실 자바의 'this'와 달리 자바 스크립트의 'this'는 애매한 점이 많다. 자바는 함수 안에 있는 'this'라면 그 'this'는 함수 안에서만 작동했다. 하지만 자바 스크립트의 'this'는 조금 다르다. 해당 함수가 호출되는 객체가 어떤 것이냐에 this가 매번 바뀐다. ※ 참고로 렉시컬 스코프와 햇갈리지 않도록 한다. 렉시컬 스코프는 정적, 즉 함수의 선언 할 시점에서 스코프가 정해진다. 하지만 this는 객체에 종속된 개념이므로 자신이 어디서 어떻게 호출하느냐에 따라서 this는 동적으로 바뀐다. 모든 함수, 객체는 모두 전역 변수 'window' 객..