본문 바로가기

programming/javascript

[ES6] 상수 const

const

C를 배울 때는 const라는 불변의 상수를 선언하는 키워드가 있었는데, JS에는 없는 듯 싶었으나 ES6에 생겼다. ES6의 const 키워드도 같은 역할을 하는 데, 이 값을 한번 선언 후에 변경하려 하면 타입에러가 발생한다.


const language = 'javascript';

language = 'html';

console.log(language); // TypeError


배열을 상수값으로 정의하는 경우

const num = [10, 20, 30];
console.log(num);  //  [10, 20, 30]

num.push(40); // 배열 값 추가   ---------------- 1
console.log(num); // [10, 20, 30, 40]

num = [40]; // 배열 재정의 // TypeError  ------- 2


 배열 내의 값을 변경(1)하는 것은 가능하지만, 배열 자체를 변경(2)하는 것은 오류가 발생한다. 


객체를 상수값으로 정의하는 경우

const obj = {
name = 'Kim';
};
console.log(obj.name); // 'Kim'

obj.name = 'Kwon'; // 객체의 속성값을 변경
console.log(obj.name); //  'Kwon'
obj = {}; //객체를 재정의 - TypeError


 객체의 속성값을 변경하는 것은 가능하지만, 객체 자체를 재정의 하는 것은 에러가 난다.









'programming > javascript' 카테고리의 다른 글

[ES6] 파라미터 핸들링(parameter handling)  (0) 2018.02.06
[ES6] 화살표 함수(Arrow functions)  (0) 2018.02.04
[ES6] 호이스팅(Hoisting)  (0) 2018.02.04
[ES6] 변수 & 상수(let)  (0) 2018.02.04
[ES6] 소개  (0) 2018.02.04