JavaScript Immutability

2024. 4. 15. 10:08기타

728x90

https://youtu.be/iJcSFzR9s8Y?si=hAIWYC3i5atuNyRm

 

 

JavaScript에서의 불변성(Immutability)

JavaScript의 세계는 변화가 끊임없이 일어나는 곳입니다. 하지만 이 변화 속에서도 변하지 않는 것, 즉 불변함(Immutability)의 가치를 이해하는 것이 중요합니다. 이 글에서는 JavaScript에서 불변성을 유지하는 방법과 그 중요성에 대해 알아보겠습니다.

변화와 불변성의 개념

mutate(변화): 정보의 원본이 변경될 수 있다는 의미입니다.
mutable(변화 가능한): 변화가 가능함을 나타내는 형용사입니다.
immutability(불변성): 데이터의 원본이 훼손되지 않음을 의미합니다. 즉, 정보의 원본이 변화하지 않도록 하는 것입니다.
정보 처리의 기본: CRUD
모든 정보 시스템은 기본적으로 네 가지 작업, 즉 생성(Create), 읽기(Read), 수정(Update), 삭제(Delete)로 이루어져 있습니다. 이 중에서도 생성과 읽기는 모든 정보의 기반입니다. 정보가 존재한다면, 그것은 생성되었고 읽힐 목적으로 존재하는 것입니다.

중요성의 차이

생성과 읽기는 정보의 원본, 즉 '원본성'을 유지하는 데에 가장 중요한 역할을 합니다. 반면, 수정과 삭제는 디지털 세계에서는 쉽게 이루어지지만, 특정 분야에서는 이러한 작업이 금기시되거나 범죄로 간주될 수 있습니다. 예를 들어, 인쇄된 책, 역사적 사실, 회계 기록, 블록체인 등은 수정과 삭제가 어렵거나 불가능합니다.

 


불변성의 필요성

컴퓨터와 디지털 기술의 발전은 수정과 삭제를 용이하게 했지만, 이로 인한 사고의 위험도 증가했습니다. 따라서, 원본의 변화를 통제하고 실수나 고의로 인한 훼손을 방지하기 위해 불변성의 가치가 중요해지고 있습니다.

 


불변성과 가변성의 조화

가변성은 디지털 기술의 특권입니다. 하지만, 애플리케이션에서 변할 필요가 없는 부분을 확실하게 불변하게 만들면, 우리는 변화에 더욱 안심하고 도전할 수 있습니다. 이상적으로 불변성과 가변성을 조화롭게 결합함으로써, 견고하면서도 유연한 애플리케이션을 만들어봅시다.

'기타' 카테고리의 다른 글

React의 가상돔  (0) 2024.05.02
컴포넌트  (5) 2024.04.29
인치의 불변성  (0) 2024.04.15
자바스크립트 객체, 구조분해할당  (0) 2024.04.03
셀렉터 selector  (0) 2024.04.03