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 |