자바스크립트 변수 vs 상수
변수 let변하는 값..이라고 쉽게 얘기하지만 정확하게 얘기하자면, 데이터를 담고 있는 공간을 가리키는 이름임.꼭 선언 후에 값을 할당해야 함. 반대로 할 경우 오류가 남.선언 후 초기화를 해줘야 함, 그래야 예기치 않은 오류가 생기는 것을 방지 할 수 있음.let 롯데리아 = "햄버거";롯데리아, 라는 변수명을 정했고 그 안에 햄버거라는 값을 할당했음. 콘솔에 찍었을 때 햄버거라는 값이 할당 되었음을 확인함.+++ undefined는 선언만 했을 뿐 값이 할당되지 않았음을 얘기하고 있음.상수 const변수와는 달리 하나의 값만 할당할 수 있음. 한번 담으면 바꿀 수 없음. 한번 담고 나면 바꿀 수 없기 때문에 선언과 동시에 초기화를 해야 함.그래서 보통 여러 번 값을 할당할 때 보다는 변하지 않을 값으로 할당할 때 쓰기에 적합함. 선언 후 초기화 하고 나서 호출했을 때 잘 나옴. 반면에 선언 후 할당하려고 하니 오류 남. var이것도 변수 선언 키워드임. 근데 안 씀.보통 변수는 선언을 하고 나서 값을 할당할 수 있는데, 얘는 값을 할당하고 선언을 해도 동작이 되는 미친놈임.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를 쓰는 거임.