var i; // 선언, "undefined"가 저장됨
var sum = 0; // 선언과 초기화
var i, sum; // 한 번에 여러 개의 변수를 함께 선언할 수 있음
var i=0, sum=10, message=”Hello”; // 선언과 초기화를 동시에 해줄 수 있음
name = "javascript"; // 선언되지 않은 변수는 전역 변수가 됨
var는 아래와 같은 문제가 있다.
console.log(x);
var x;
//호이스팅 후
var x;
console.log(x);
//선언과 동시에 대입되는 수는 호이스팅 되지 않음
console.log(x);// undefined
var x = 5;
console.log(x);// 5
//아래와 같다고 볼 수 있음
var x;
console.log(x);// undefined
var = 5;
console.log(x);// 5
let i; // 선언, "undefined"가 저장됨
let sum = 0; // 선언과 초기화
let i, sum; // 한 번에 여러 개의 변수를 함께 선언할 수 있음
let i=0, sum=10, message=”Hello”; // 선언과 초기화를 동시에 해줄 수 있음
let은 변수가 선언된 블록, 구문 또는 표현식 내에서만 유효한 변수를 선언한다.
중복선언이 불가능하며 수정이 가능하다.
var에 비해 코드의 안정성을 높힐 수 있다.
const MY_NUM = 7;
블록범위에서 상수를 선언한다.
let이 수정이 가능한 반면 const는 수정이 불가능하다.