반응형

const

선언된 변수 지키기 (한번 선언된 변수에 재할당할 수 없는 상수)



1
2
3
4
5
6
7
function home() {
  const homename ='my house';
  homename = "your house";
  console.log(homename);
}
 
home();
cs



error 발생

  • "TypeError: Assignment to constant variable.
        at home (nucusoneye.js:3:12)
        at nucusoneye.js:7:1
        at https://static.jsbin.com/js/prod/runner-4.1.7.min.js:1:13924
        at https://static.jsbin.com/js/prod/runner-4.1.7.min.js:1:10866"



=> 해당 error 는 상수값인데 동일한 변수명에 또 대입했기 때문에 생기는 오류이다. 


1
2
3
4
5
6
7
function home() {
  const homename = [1233];
  homename = ["1"];
  console.log(homename);
}
 
home();
cs


위와 같이 변수에 담아도 동일한 error 가 발생한다.


> 상수는 타입과 상관없이 재할당하는 경우 오류가 발생한다. 


정리하자면, ES6는 const를 기본으로 사용하되, 변경이 될 수 있는 변수는 let을 사용하고, var는 사용하지 않는다. 



const 특성과 immutable array 


1
2
3
4
5
6
function home() {
  const list = ["apple""orange""watermelon"];
  list ="asdfg";
}
 
home();
cs


error 발생 

"TypeError: Assignment to constant variable.
    at home (nucusoneye.js:3:8)
    at nucusoneye.js:6:1
    at https://static.jsbin.com/js/prod/runner-4.1.7.min.js:1:13924
    at https://static.jsbin.com/js/prod/runner-4.1.7.min.js:1:10866"




1
2
3
4
5
6
7
8
function home() {
  const list = ["apple""orange""watermelon"];
  list.push("banana");
  
  console.log(list);
}
 
home();
cs

["apple", "orange", "watermelon", "banana"]



> const 를 사용하더라도 배열과 object 의 값을 변경하는 것은 가능하다.


immutable array 를 생성하는 방법 

> 뒤로, 앞으로 등 데이터를 되돌리고 싶을 경우 그때그때마다 저장 값을 view 해야하는 경우 


1
2
3
4
5
6
7
8
9
10
11
12
13
function home() {
  const list = ["apple""orange""watermelon"];
  list.push("banana");
  
  console.log(list);
}
 
home();
 
// immutable array 
const list = ["apple""orange""watermelon"];
list2 = [].concat(list, "banana");
console.log(list2);
cs

["apple", "orange", "watermelon", "banana"]









반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기