Javascript(2)
-
JavaScript의 this: 헷갈림을 극복하자!
JavaScript를 처음 배우다 보면 this라는 키워드에 자주 마주치게 됩니다. 그런데 this의 동작 방식은 상황에 따라 달라지기 때문에 혼란을 겪습니다. 이번 글에서는 Javascript의 this가 무엇인지, 다양한 상황에서 어떻게 동작하는지, 그리고 이를 명확히 이해하는 방법을 정리해보겠습니다.this란 무엇인가?this는 "현재 실행 문맥(Context)"을 나타내는 키워드입니다.JavaScript에서 this는 코드가 어떻게 호출되었는지에 따라 참조하는 대상이 달라집니다.즉, this는 항상 "누가 호출했느냐"에 따라 값이 결정됩니다.this가 동작하는 다양한 상황1. 전역 컨텍스트전역 범위에서 this는 브라우저에서는 전역 객체(window)를, Node.js에서는 global 객체를 참..
2024.11.21 -
[Javascript] 호이스팅
호이스팅이란 자바스크립트 엔진이 코드를 실행하기 전 함수, 변수, 클래스, 임포트의 선언문을 해당 범위의 최상단으로 끌어올리는 것처럼 보이는 현상을 의미한다. 이는 자바스크립트가 변수와 함수 선언을 메모리에 저장하는 방식때문에 발생하며, 이로인해 변수 선언 전에 참조할 수 있게 되는 현상이 발생한다. * 자바스크립트의 실행 컨텍스트가 활성화 되면 현재 컨텍스트 내부 전체를 훑어서 식별자 정보를 VariableEnvironment에 담는다.때문에 자바스크립트 엔진은 이미 변수명을 알고 있게 되어 코드가 최상단으로 끌어올려진 것처럼 보이는것이다. 호이스팅의 간단한 예시console.log(a); // Undefinedvar a = 3;console.log(temp); // Undefinedfunction ..
2024.11.04