[JavaScript] 자바스크립트 가변성(Mutable)과 불가변성(Immutable) 이해하기

2022. 6. 6. 00:22Program/JavaScript

069_자바스크립트 가변성(Mutable)과 불가변성(Immutable) 이해하기

[적용]

  • 데이터의 속성을 이해하고 싶을 때

[문법]

데이터 타입 특징
원시(Primitive) 타입 불가변성 
객체(Object) 타입 가변성 

[내용]

원시 타입과 객체 타입의 차이는 데이터 값의 변환 가능 여부다.

원시 타입의 데이터는 변할수 없으므로 불가변성(Immutable)이며, 객체 타입은 가변성(Mutable)이다.

 

가변성 객체 타입 중 하나인 배열의 데이터를 확인해 보자.

배열의 첫 번째 데이터는 1이지만, 100을 대입하면 1이 100으로 변경된다.

이것이 가변성이다.

const myArray = [1, 2, 3];
myArray[0] = 100;

console.log(myArray);  // 결과: [100, 2, 3]

 

다음으로 불가변성의 데이터를 확인해 보자.

let myNumber = 10;
myNumber = 20;

console.log(myNumber);  // 결과: 20

대입한 값의 10은 더이상 변경되지 않는다.

myNumber 변수에 20을 대입하면 10이 20으로 바뀌는 것이 아니라, 20이라는 새로운 데이터를 참조하는 것이다.

이것이 불가변성이다.

 


 

 

 

 

 

참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김