JS 변수 var,let,const

Rudy·2022년 12월 13일
0

Js 변수에 대해서 알아보자

var는 한번 선언된 변수를 다시 선언할 수있다.

var name = "Rudy";
console.log(name) //Rudy

var name = "jane";
console.log(name) // Jane

---------------------------------
console.log(name) // undefined 
var name = "jane"; //할당

var는 선언하기 전에 사용할 수 있다. 선언은 호이스팅(hoisting)되지만 할당은 불가

변수의 생성과정

  • 선언 단계(Declaration phase) : 변수를 실행 컨텍스트의 변수 객체에 등록하는 단계를 의미합니다. 이 변수 객체는 스코프가 참조하는 대상이 됩니다.

  • 초기화 단계(Initialization phase) : 실행 컨텍스트에 존재 하는 변수 객체에 선언 단계의 변수를 위한 메모리를 만드는 단계 입니다. 이 단계에서 할당된 메모리에는 undefined로 초기화 됩니다.

  • 할당 단계(Assignment phase) : 사용자가 undefined로 초기화된 메모리의 다른 값을 할당하는 단계 입니다.

Var (함수 스코프)

  • 선언 및 초기화 단계
  • 할당 단계

let (블록 스코프)

  • 선언 단계
  • 초기화 단계
  • 할당 단계

const (블록 스코프)

  • 선언 + 초기화 + 할당

블록 스코프 : 모든 코드에서 선언된 변수는 코드 블록 안에서만 유효 하다 ex) 함수,if 문,for 문, while 문, try/catch 문

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

Temporal Dead Zone : let,const 영향을 받는다

profile
주니어 개발자

0개의 댓글