변수란?
다양한 값을 보관할 수 있는 저장공간. 자바스크립트에서 let / const /var을 사용
" 컴퓨터가 코드를 읽고 소프트웨어를 돌릴때 필요한 작업을 메모리로 올리는데, 자바스크립트는 코드가 실행되기전, 선언되어있는 변수(전역)와 함수를 먼저 확인하고 메모리로 가져가 저장을 해두고 필요할 때 마다 불러온다(호이스팅). "
자바스크립트 EC6가 생기기전 사용한 변수
한번 선언된 변수를 다시 선언 할 수 있다.
var age = 20;
console.log(age); //20
var age = 30;
console.log(age); //30
전역변수와 지역변수의 차이가 확실하지 않다.
지역/전역변수 개념
함수만 지역변수로 호이스팅이되고 나머지는 다 전역변수로 올린다
호이스팅이 가능하다.
▶️호이스팅?
안에있는 변수들을 범위의 최상단으로 끌어올리는것
console.log(a) // a변수가 선언되기전에 a를 사용했지만 오류메세지가 뜨지 않고 undefined라고 뜬다. var a = 1 //* 호이스팅시 변수의 선언과 초기화(undefined)를 같이 시켜버리고 값 할당을 나중에 함.
console.log(a) // 역시 undefined a=1 // 선언되기전 값을 할당해 주는것도 가능 var a
let age = 20;
console.log(age); //20
let age = 30;
console.log(age); //error!
console.log(a) // a변수가 선언되기전에 a를 사용 let a = 1 // ReferenceError
let과 const는 var에 비하면 까다로운 제약조건들이 있지만 프로그래밍을 할때 오류를 낮춰주고 예측가능한 코드를 작성할 수 있게 해준다.