let misty = 10;
// let misty = 20; -> 중복 선언 시 에러 발생
misty = 30; // -> 값 재할당 가능
console.log(misty) // 출력 30
Ⅰ. 중복 선언 불가능
Ⅱ. 값 재할당 가능
var jingu = 10;
var jingu = 20; // 중복 선언 허용
jingu = 30 // 값 재할당 가능
console.log(jingu) // 출력: 30
Ⅰ. 중복 선언 허용
Ⅱ. 값 재할당 가능
const bisil = 10;
const bisil = 20; // -> 중복 선언 시 에러
bisil = 30; // -> 값 재할당 시 에러
console.log(bisil); // 에러 발생
Ⅰ. 중복 선언 불가능
Ⅱ. 값 재할당 불가능
if(true){
let x = 10;
console.log(x); // 10
}
//블록 외부
console.log(x); //참조에러 : 정의되지 않음
Ⅰ. let은 블록 내에서만 유효합니다(block scope)
if(true){
var x = 10;
console.log(x); // 10
}
//블록 외부
console.log(x) // 10
Ⅰ. "var" 의 유효범위는 함수(function scope)입니다.
if (true) {
const y = 10;
console.log(y); // 10
}
//블록 외부
console.log(y); // 에러: 참조에러, 정의되지 않음
Ⅰ. const는 블록 내에서만 유효합니다(block scope)
daenamuhelricopter = 'test' //참조 에러 대나무 헬리콥터가 정의 되어있지 않음
let daenamuhelricopter
Ⅰ. 호이스팅은 일어남
Ⅱ. tdz(temporal dead zone)
Ⅲ. let은 값을 할당하기 전에 변수가 선언 되야함
doraemong = 'test'
let doraemong
Ⅰ. 호이스팅으로 인해 참조에러가 안난다.
const fish = mackerel;
Ⅰ. 호이스팅은 일어남
Ⅱ. const는 선언과 동시에 값을 할당 해야함
Ⅰ. 중복 선언 불가능
Ⅱ. 값 재할당 가능
Ⅲ. let은 블록 내에서만 유효합니다(block scope)
Ⅳ. 호이스팅은 일어남
Ⅴ. tdz(temporal dead zone)
Ⅵ. let은 값을 할당하기 전에 변수가 선언 되야함
Ⅰ. 중복 선언 허용
Ⅱ. 값 재할당 가능
Ⅲ. "var" 의 유효범위는 함수(function scope)입니다.
Ⅳ. 호이스팅으로 인해 참조에러가 안난다.
Ⅰ. 중복 선언 불가능
Ⅱ. 값 재할당 불가능
Ⅲ. const는 블록 내에서만 유효합니다(block scope)
Ⅳ. 호이스팅은 일어남
Ⅴ. const는 선언과 동시에 값을 할당 해야함