inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 변수 vs 상수

ㅇㅈㅇ
0

변수 let

let 롯데리아 = "햄버거";

롯데리아, 라는 변수명을 정했고 그 안에 햄버거라는 값을 할당했음.
콘솔에 찍었을 때 햄버거라는 값이 할당 되었음을 확인함.

image

+++ undefined는 선언만 했을 뿐 값이 할당되지 않았음을 얘기하고 있음.


상수 const

이것도 변수 선언 키워드임. 근데 안 씀.

보통 변수는 선언을 하고 나서 값을 할당할 수 있는데, 얘는 값을 할당하고 선언을 해도 동작이 되는 미친놈임.

console.log(a); // undefined
var a = 10;
console.log(a); // 10

실제로 내부는 이럼.

var a;          // 선언이 먼저 '끌어올려짐'(hoisting)

console.log(a); // 아직 값이 없으니까 undefined

a = 10;         // 이제 값 할당

console.log(a); // 10

선언이 코드의 맨 위로 끌어올려지는 현상 = 호이스팅이라고 함.

즉, “호이스팅은 변수 선언만 코드 맨 위로 끌어올려지는 현상이고,
var는 그게 적용돼서 ‘선언 전에도 쓸 수 있는 것처럼 보이는’ 애.”

= 값이 올라가는 게 아니라, 선언만 올라간다

 

이거 쓰면 코드 오류 나고, 꼬이고 {} 블럭 스코프 무시함.

 

그래서 요즘은 안 쓰고 변수는 let, 상수는 const를 쓰는 거임.

프론트엔드 자바스크립트

답변 0