불가변성
가변성
원시 타입과 객체 타입의 차이는 데이터 값의 변환 가능 여부입니다. 원시 타입의 데이터는 변할 수 없으므로 불가변성이며, 객체 타입은 변할 수 있으므로 가변성입니다.
타입 중 하나인 배열의 데이터를 확인해봅니다. 배열의 첫 번째 데이터는 1이지만 100을 대입하면 1이 100으로 변경됩니다. 이것이 가변성입니다.
const myArray = [1, 2, 3];
myArray[0] = 100;
console.log(myArray) // 100, 2, 3
불가변성의 데이터를 확인해봅니다. 대입한 값의 10은 더이상 변경되지 않습니다. myNumber 변수에 20을 대입하면 10이 20으로 바뀌는 것이 아니라 20이라는 새로운 데이터를 참조하는 것이다. 이것이 불가변성입니다.
let myNumber = 10;
myNumber = 20;
console.log(myNumber) // 20