var
: 재선언O, 재할당O, 범위 function
let
: 재선언X, 재할당O
const
: 재선언X, 재할당X
변수는 존재 범위를 가진다.
var
는 전역스코프 (function)
let, const
는 블록스코프 { //code }
ex. for, if, function etc.
var name; // 선언
name = 'Kim'; // 값 할당
name = 'Lee'; // 재할당 O
let age;
let age; // error. 재선언 불가능
let age = 10; // 선언 및 할당
age = 20; // 재할당 O
const gender; //error. 선언만 하는 것 불가능, 값 할당 필수
const gender = '여자';
const gender = '남자'; // error. 재선언 불가능
gender = '중성' // 재할당 불가능
const로 객체 생성 시
const human = {
name: 'Kim'
}
human.name = 'Park' // 가능. 객체 내부 값 변경 됨
🔥 객체 내부 값이 변경 된 것이지, 재할당 된 것이 아님