TIL_20210314_#1

ChungsikPark·2021년 3월 14일
0

TIL

목록 보기
2/31

let 과 var 의 유효범위

  • let으로 선언된 변수는 변수가 선언된 블록 내에서만 유효하며, 당연히 하위 블록에서도 유효.
  • var가 let과 다른 점으로는 함수 블록 이외에 블록은 무시.
let letVariable = () => {
  let x = 1;
  if (true) {
    let x = 2;  // 상위 블록과 다른 변수
    console.log(x);  // 2
  }
  console.log(x);  // 1
}

let varVariable = () => {
  var x = 1;
  if (true) {
    var x = 2;  // 상위 블록과 같은 변수
    console.log(x);  // 2
  }
  console.log(x);  // 2
}
if (true) {
  var varVariable = 1;
  let letVariable = 2;
}
console.log(varVariable); // 1
console.log(letVariable); // Uncaught Reference Error
  • 전역 객체의 속성 값 생성여부
let x = 'global';
var y = 'global';
console.log(this.x); // undefined 전역 객체의 속성 x를 생성하지 않음
console.log(this.y); // "global" 전역 객체의 속성 y를 생성
profile
Blog by Chungsik Park

0개의 댓글