본문 바로가기

클라이언트/JavaScript
[자바스크립트(JavaScript)] 변수 (const vs let vs var)

//변수, variable

- 변하는 값

- 대입 연산자를 활용하여 변수에 값을 대입한다.

- JavaScript는 변수의 타입이 없다.

- 변수는 모든 자료형의 데이터를 저장할 수 있다.(= 자바 Object 변수)

- 자바스크립트는 초기화가 되지 않은 변수의 상태를 null이라고 하지 않고, undefined라고 한다.

- 변수 선언문(var)을 사용하지 않고도 변수 생성이 가능하다. > However, 절대 하지 말 것

- 변수 영역, scope
  1. 전역 변수 > HTML 페이지 전역 > 선언문 실행(생성) ~ 페이지 종료(소멸)
  2. 지역 변수 > 블럭 영역 변수 X, 함수 영역 변수(O) > 함수만 지역으로 인식 > 제어문 인식 X

let 변수명;
var 변수명;
const 변수명;

// const vs let vs var

  const let var
Scope(영역) 블록 레벨  || 전역
블록 내에서 선언
- 블록 내에서만 사용 가능
※함수 외부에서 선언
- 전역변수로 사용 가능
블록 레벨  || 전역
블록 내에서 선언
- 블록 내에서만 사용 가능
※함수 외부에서 선언
- 전역변수로 사용 가능
함수 레벨 || 전역
※함수 내에서 선언
- 함수 내에서만 사용 가능
※함수 외부에서 선언
- 전역변수로 사용 가능
Reassignment(재할당) 불가능
※객체, 배열 내의 값은 변경 가능
가능 가능
Hoisting(호이스팅) Reference Error Reference Error undefined
Initialization(초기화) 필수 o 필수 x
※대신 값 할당 필수
※기본값 undefined
필수 x
※기본값 undefined