변수 선언 키워드
- let: 지역변수를 선언
- const: 읽기 전용 상수 선언
- var: 변수를 선언
선언, 할당, 초기화
선언: 변수를 생성하는 행위 or 시점
할당: 선언된 변수에 값을 저장하는 행위 또는 시점
초기화: 선언된 변수에 처음으로 값을 저장하는 행위 또는 시점
블록 스코프
if for 함수 등의 중괄호 내부
블록 스코프를 가지는 변수는 바깥에서 접근 불가
let x = 1
if (x===1) {
let x = 2
console.log(x) //결과: 2
}
console.log(x) //결과: 1
변수 선언
let
재할당 가능, 재선언 불가능
let number =10 // 선언 및 초기값 할당
number = 20 // 재할당
let number = 10 // 선언 및 초기값 할당
let number = 20 // 재선언 불가
블록 스코프를 갖는 지역 변수를 선언
선언과 동시에 원하는 값으로 초기화 할 수 있음
const
재할당 재선언 둘다안됨
const number =10 // 선언 및 초기값 할당
number = 20 // 재할당 불가
const number = 10 // 선언 및 초기값 할당
const number = 20 // 재선언 불가
선언 시 반드시 초기값 설정해야됨. 그 이후 값 변경 불가
let과 동일하게 블록 스코프 가짐
var
재할당 재선언 둘다 됨
ES6 이전에 사용되던 키워드
“호이스팅” 되는 특성으로 인해 문제 발생 가능 (ES6 이후부터 var 사용x)
- 호이스팅: 변수를 선언 이전에 참조할 수 있는 현상
- var로 선언하면 선언 이전에 참조 가능
- 선언 이전에 접근하면 undefined 반환
- let이랑 const는 호이스팅 일어나면 에러 발생함
함수 스코프를 가짐 (함수 바깥에서 접근 불가)
키워드 | 재선언 | 재할당 | 스코프 | 비고 |
let | X | O | 블록 스코프 | ES6부터 도입 |
const | X | X | 블록 스코프 | ES6부터 도입 |
var | O | O | 함수 스코프 | 사용X |
'JavaScript' 카테고리의 다른 글
자바스크립트로 Vue 3 비번 보이기/숨기기 구현하기 (0) | 2023.02.11 |
---|---|
[자바스크립트] 프로그래머스 코딩테스트 연습: 몫 구하기 (0) | 2022.12.07 |
[자바스크립트] 조건문 : if 문, switch문 (0) | 2022.10.31 |
[자바스크립트] 연산자 (0) | 2022.10.31 |
[자바스크립트] this (0) | 2022.10.25 |