[JS] const / let

brianhwang·2021년 8월 25일
0

JavaScript

목록 보기
3/6
post-thumbnail

const?

한번 선언한 값에 대해서 변경할 수 없음 (상수 개념)

let?

한번 선언한 값에 대해서 다시 선언 할 수 없음

const a = 20;
a = 10; ===> ERROR

let a = 20; 
let a = 10; ===> ERROR
a = 10; ====> SUCCESS 

var a = 20;
var a = 10; ===> SUCCESS
a = 30; ===> SUCCESS 

{} 블록 단위로 변수의 범위가 제한됨

let sum = 0;
for (let i=1; i<=5; i++){
   sum = sum + i;
}
console.log(sum); // 10
console.log(i); // Uncaught ReferenceError: i is not defined

i는 블록 안에서 let으로 선언 되었기 때문에 {} 블록 밖에서는 i를 찾을 수 없다. 반면에 var은 {} 블록 범위 상관없이 콘솔에 값이 찍히는 것을 아래 코드와 같이 확인 할 수 있다.

var을 사용했을 경우에는 에러가 안난다.

var sum = 0;
for (var i=1; i<=5; i++){
  sum = sum + i;
}
console.log(sum); // 10
console.log(i); // 6

const로 지정한 값 변경 불가능

const a = 10;
a = 20; // Uncaught TypeError : Assignment to constant variabvl

하지만, 객체나 배열의 내부는 변경 할 수 있다.

const a = {};
a.num = 10;
console.log(a); // {num:10}

const a = [];
a.push(20);
console.log(a); // [20]
profile
Jiujitsu_coder

0개의 댓글