JS의 변수 선언과 TDZ

JavaScript 변수의 종류, 생성과정

  • var : 1. 선언 및 초기화 단계, 2. 할당 단계 / 함수 스코프를 벗어날 수 없다!
  • let : 1. 선언 단계, 2. 초기화 단계, 3.할당 단계
  • const: 1. 선언, 초기화, 할당

Hoisting

**스코프 내부 어디서든 변수 선언은 최상위에 선언된 것 처럼 행동

TDZ(Temporal Dead Zone)

**변수를 사용할 수 없는 영역을 TDZ라고 한다.

console.log(name) //TDZ 변수가 선언되기도 전에 사용하려 함 TDZ에 걸림

const name = "호호";
console.log(name) // "호호"

함수안에서도 호이스팅은 동일하다

let age = 30;

function showAge(){		//Temporal Dead Zone Start
	console.log(age)	////Temporal Dead Zone End
    let age = 20;
    					
}

showAge();

함수 안에서 쓰인 age는 let age=20을 사용 즉 함수 스코프 안에서 선언 된 변수를 의미!

좋은 웹페이지 즐겨찾기