반응형
변수
- 값 변경 가능
- 기본 변수 선언방법
- 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 | - 배열, 함수, 정규표현식 |
반응형
'JS > Javascript' 카테고리의 다른 글
[Javascript] 화살표 함수(Arrow Function) (0) | 2023.02.25 |
---|---|
[함수] 콜백(callback) 함수 (0) | 2023.02.25 |
[함수] 함수의 기본 (0) | 2023.02.04 |
[Javascript] 매개변수(parameter)와 전달인자(argument) (0) | 2023.02.04 |
[Javascript] 함수의 매개변수 (1) | 2023.01.07 |