JavaScript - let, const 공통사항
in JS on 공부, Javascript, Let, Const
유효범위 존재
블록 스코프내에서.
TDZ
TDZ라는게 있었다.
재선언(재정의)
var a=0
var a=1
//문제 없다.
let b=2
let b=3
//문제 된다.
const c = 4
const c = 5
//문제 된다.
var d = 4
let d = 5 //안된다
const d = 6 // 안된다. 순서 상관 없다.
var를 안쓰는 편이 좋을 거 같다.
let / const ?
웬만해서는 const를 쓰는 것이 좋다.
let 값 자체의 변경이 필요한 예외적인 경우(경우가 적다.)
const : 객체. const를 많이 쓰는 것이 좋다고 한다.
전역객체의 프로퍼티
var a = 10
console.log(window.a) //10
console.log(a)//10
delete a
console.log(window.a) //10
console.log(a) // 10
delete window.a //false
window.a = 10;
delete a // true
var a = 10
delete a //false
delete window.a //false
var c = 30; => 전역변수임과 동시에 전역객체의 프로퍼티가 된다. 함부로 삭제할 수 없다.
const a = {
b:1
}
delete a.b // true
전역변수 선언을 최소화해라.
let c = 30 //window.c에는 존재하지 않음. window 객체의 프로퍼티가 되지 않는다.
console.log(window.c) //undefined
delete c // false
delete 는 객체에 있는 프로퍼티를 지우라는 명령어이다. 근데 c는 접근이 안되니까 안된다.
window.b = 20
delete b //(window.이 생략된 것이다.) true