[ 목차 ]
1. 변경불가성
1. 변경불가성
1) 객체가 생성된 이후 그 상태를 변경할 수 없는 디자인 패턴으로, 함수형 프로그래밍의 핵심 원리
2) 객체가 참조를 통해 공유되고 있다면 그 상태가 언제든지 변경될 수 있기 때문에 문제가 될 가능성 증가
3) 의도하지 않은 객체의 변경이 발생하는 원인의 대다수는 래퍼런스를 참조한 다른 객체에서 객체를 변경하기 때문
4) 비용이 조금 들지만 객체를 불변객체로 만들어 프로퍼티의 변경을 방지하며 객체의 변경이 필요한 경우에는 참조가 아닌 객체의 방어적 보가를 통해 새로운 객체를 생성한 후 변경하여 해결 가능
5) 불변 객체를 사용하면 복제나 비교를 위한 조작을 단순화, 성능 개선에 도움
6) 객체가 변경 가능한 데이터를 많이 가지고 있는 경우 오히려 부적절
2. immutable value vs mutable value
1) 자바스크립트의 원시 타입은 변경 불가능한 값
1] boolean, null, undefined, number ,string, symbol
2) 원시 타입 이외의 객체 타입은 변경 가능한 값, 즉 객체는 새로운 값을 다시 만들 필요없이 직접 변경 가능
'학원 > JavaScript' 카테고리의 다른 글
11장. 스코프 (0) | 2020.04.09 |
---|---|
10장. 함수 - 추가필요 (0) | 2020.04.09 |
8장. 객체 (0) | 2020.04.08 |
7장. 타입 변환과 단축 평가 (0) | 2020.04.08 |
6장. 제어문 - 추가필요 (0) | 2020.04.08 |