JS/Javascript

[Javascript] 변수

ui-o 2023. 2. 4. 15:02
반응형

변수

  - 값 변경 가능
  - 기본 변수 선언방법
  - let (added in ES6) - 현재 IE11에 부분적 호환

var

  • block scope를 무시한 호이스팅 발생
  • 함수 스코프에 종속되어 함수 내에 선언한 경우 함수 밖에서 사용 X
  • for문의 경우 for문도 밖에서 사용 가능


let

  • 블록 스코프로 종속됨



const

  • 재할당을 통해 값이 변경되거나 재 선언할 수 없음
  • 객체를 const로 할당하는 경우 속성 재할당 가능 (Object.freeze(객체명)을 통해 고정도 가능)


TDZ(Temporal Dead Zone)

  • 변수의 일시적 비활성 구역
  • var는 정의되기 전 접근 가능하여 undefined값을 갖지만, 값에는 접근할 수 없음
  • let은 변수가 선언되기 전까지 TDZ에 머물러 초기화 전 변수에 접근 시 오류 발생
  • let, const의 경우 정의하기 전 접근할 수 없음
  • var, let, const 모두 호이스팅의 대상이 됨


•  변수 타입

기본타입참조타입
- 원시데이터로 더이상 단순화 할 수 없는 값
- 데이터 및 정보의 가장 단순한 형태

- 다른 여러 값으로 구성된 값
- 기본 타입 이외의 모든 타입으로 객체
-  number, string, boolean, defined- 배열, 함수, 정규표현식

 

반응형