자바스크립트 입문_불변객체
자바스크립트 2021. 5. 3. 14:25(본 포스팅은 위키북스의 '코어자바스크립트' 책을 공부하면서 작성되었습니다_내돈내산)
- 불변객체(immutable object) : 참조형데이터의 '가변'은 데이터 자체가 아닌 내부 프로퍼티를 변경할 때만 성립함. 바뀌기전과 바뀐후의 정보차이를 가시적으로 보여줘야 하는 기능을 구현하기 위해서는 불변객체가 필요함.
2021.05.03 - [JavaScript] - 자바스크립트 입문_변수의 복사
위에서 보면 내부의 프로퍼티를 바꾸는 순간 복사된 데이터값이 바뀌는 것을 알 수 있음. 이런현상이 필요하지 않을때 다음과 같은 방법을 사용하게 됨.(어쨋거나 새로운객체를 할당(리턴)하게 됨)
var user = {
name : 'Jimin',
gender : 'male'
};
var changeName = function(user, newName) {
return {
name : newName,
gender : user.gender
};
};
var user2 = changeName(user, 'Yu')
if(user !== user2) {
console.log('유저정보가 변경되었습니다'); // 유저정보가 변경되었습니다.
};
console.log(user.name, user2.name); // Jimin Yu
console.log(user === user2 ); // false
이러한 불변객체를 만들기 위한 immutable.js, baobab.js 등의 라이브러리가 등장해서 인기를 끌고 있으니 찾아보는것도 좋을듯함.
'자바스크립트' 카테고리의 다른 글
자바스크립트 입문_undefined와 null (0) | 2021.05.03 |
---|---|
자바스크립트 입문_얕은복사와 깊은복사 (0) | 2021.05.03 |
자바스크립트 입문_변수의 복사 (0) | 2021.05.03 |
자바스크립트 입문_가변값 (0) | 2021.05.03 |
자바스크립트 입문_불변값 (0) | 2021.05.03 |