1-7. var, let, const

강연주·2024년 10월 5일

📚 TIL

목록 보기
51/186

7. var, let, const의 차이에 대해 알려주세요.

var : 쓰지 마세요
let : 가변적 변수 선언, 재할당 가능, 코드 어디선가 이 변수의 값이 다르게 할당될 가능성
const : 불변성 유지 변수 선언, 재할당 불가능, 근데 상수라고 불러야만 정확한 건가?

var : 스코프 내 중복 선언 가능, 재할당 가능, 변수 선언이 무조건 상위로 끌어올려지는 호이스팅 발생 (런타임 이전에 변수 선언과 초기화 단계를 실행), 선언과 초기화 동시에 이루어짐, 함수 레벨 스코프, 쓰지 마세요

let : 스코프 내 중복 선언 불가능(Syantax Error 발생), 재할당 가능, 호이스팅 발생하지 않는 것처럼 동작 (엄밀히 따지면 호이스팅 O), 선언과 초기화 따로 이루어짐, 블록 레벨 스코프 : 블록 (중괄호로 나뉘는 for문, if문, switch문 등)을 다 지역 스코프로 취급해 동명의 변수가 스코프에 따라 다르게 사용될 수 있음, 값 재할당 가능,

const : 중복 선언, 재할당 불가능한 상수 (값의 불변을 의미
하지는 않는다), 예를 들어 객체 할당 시 값 변경

( 출처 : 모던 자바스립트 deep dive, 이웅모, 위키북스 )

profile
아무튼, 개발자

0개의 댓글