본문 바로가기

호이스팅

[기술 면접 스터디-2일차] hoisting과 Parameter, argument 차이 1. Hoisting 이란? TDZ란? 호이스팅 - 자바스크립트 엔진이 런타임 이전(코드를 실행하기 전)에 변수와 함수 등의 선언이 해당 스코프의 최상단으로 끌어올려진 것처럼 동작하는 것을 말하며, 정확하게는 변수 식별자와 초기값 undefined를 컨텍스트의 최상단에 등록하는 것을 말한다. TDZ(일시적 사각지대) - TDZ는 let과 const 키워드로 사용하여 변수를 선언했을 때 호이스팅 후 실제 변수 선언문을 만나기 전까지 변수를 참조할 수 없는 일시적 사각지대 구간을 의미합니다. - TDZ는 ES6(ECMAScript 2015)에서 let과 const키워드가 도입됨에 따라 생겨난 개념입니다. 이전까지 var키워드로 선언된 변수는 호이스팅 되고 변수 선언과 undefined로 초기화가 동시에 진행.. 더보기
[Deep Dive] var, let, const의 차이 / hoisting(호이스팅)에 대해 오늘 목표 : var, let, const의 차이 / hoisting(호이스팅) 모던 자바스크립트 Deep Dive 책을 이용해 변수들과 호이스팅에 대해 공부한 내용을 정리해 보았다. 1. var의 등장 배경 / 문제점 1) 중복 선언 - 같은 이름의 변수를 중복해서 선언해도 정상적으로 동작한다. 또 재할당이 아니라 이전의 변수가 덮어쓰여진다. 규모가 큰 프로젝트에서 변수명이 중복될 경우에도 Error가 발생하지 않는다. 이는 누군가 실수로 변수를 중복 선언하여 의도치 않은 결과를 초래할 수 있다. 2) var 호이스팅 - var변수의 선언문이 스코프 내의 최상단으로 끌어올려진 것처럼 동작하여 변수를 정의하기 전에 사용해도 에러가 발생하지 않는다. 3) 함수 레벨 스코프 - var 키워드로 정의된 변수는.. 더보기

728x90
반응형