반응형

[설명]

var : 값 재 할당 가능, Block 안에서 설정해도 Block 밖에서도 사용가능 (function-scoped)

let : 값 재 할당 가능, Block안에서 설정하면 Block 안에서만 사용가능. (block-scoped)

const : 값 재 할당 불가능. Block안에서 설정하면 Block 안에서만 사용가능. (block-scoped)

 

 

[비교 코드]

{
  var a = 1;
  let b = 2;
  const c = 3;
  
  try {
    a = 4;
  } catch(e) {
    console.log("block 안쪽 a Error : " + e.message);
  }
  try {
    b = 5;
  } catch(e) {
    console.log("block 안쪽 b Error : " + e.message);
  }
  try {
    c = 6;
  } catch(e) {
    console.log("block 안쪽 c Error : " + e.message);
  }
  console.log("block 안쪽 a : " + a);
  console.log("block 안쪽 b : " + b);
  console.log("block 안쪽 c : " + c);
}

try {
 console.log("block 바깥 a : " + a);
} catch(e) {
  console.log("block 바깥 a Error : " + e.message);
}
try {
  console.log("block 바깥 b : " + b);
} catch(e) {
  console.log("block 바깥 c Error : " + e.message);
}
try {
  console.log("block 바깥 c : " + c);
} catch(e) {
  console.log("block 바깥 c Error : " + e.message);
}
  

 

[결과]

block 안쪽 c Error : Assignment to constant variable.

block 안쪽 a : 4
block 안쪽 b : 5
block 안쪽 c : 3

block 바깥 a : 4
block 바깥 c Error : b is not defined
block 바깥 c Error : c is not defined
반응형

+ Recent posts