불변성이란?
- 자바스크립트에서 불변성(Immutability)이란 데이터는 한번 생성되고나면 그 뒤에는 변할수 없다는 것을 의미한다.
- 기본(원시)형 데이터는 불변 데이터로 불리는데, 이는 컴퓨터 내 메모리 영역 내에서 값이 변하지 않는다는 것을 의미한다.
- 변수에 값을 할당할 때 완전히 새로운 값이 만들어져 할당된다.
불변 객체를 만드는 방법 Object.freeze()
- 자바스크립트의 내장 메소드인 Object.freeze() 는 객체를 동결하기 위한, 즉 값을 변경하지 못하게 만드는 메소드이다.
const immu = {
data : 'immutable data'
}
Object.freeze(immu)
immu.data = 'make it mutable'
console.log(immu.data)
→ immutable data
- immu.data 에 'make it mutable' 로 값을 변경하게 지시했지만 Object.freeze(immu) 로 인해 값을 변경할 수 없는 형태로 만들었다.
- 객체를 생성할 때 const 로 생성했기 때문에 객체의 재할당 또한 불가능하다.
'JavaScript' 카테고리의 다른 글
JavaScript, 호이스팅과 TDZ (0) | 2022.11.18 |
---|---|
JavaScript, 얕은 복사와 깊은 복사 (0) | 2022.11.18 |
JavaScript, 기본형 데이터와 참조형 데이터 (0) | 2022.11.18 |
JavaScript, == 와 ===의 차이, undefined 와 null의 차이 (0) | 2022.11.18 |
JavaScript 형변환 (0) | 2022.11.18 |