[Javascript] Mutable / Immutable Data Type
2021. 9. 11. 23:22ㆍ자바스크립트
Mutable Data Type
- 값이 계속 변경될 수 있는 데이터 타입
- 자바스크립트에서 기본적으로 모든 object는 Mutable type이다.
let name = 'kim'; // 변수 name 값 'kim' 저장 name = 'lee'; // name값 'lee'로 변경 가능 |
Immutable Data Type
- 값을 변경할 수 없는 데이터 타입
- Premitive type, Frozen objects
const name = 'kim'; // 변수 name 값 'kim' 저장 name = 'lee'; // name값 'lee'로 변경 불가 |
Mutable | Immutable |
let | const |
<Immutable Data Type을 사용해야 하는 이유>
1. 보안(Security)
내가 저장한 데이터를 다른 해커들이 이상한 코드를 넣는 등 데이터 값을 변경하는 것을 방지한다.
2. 스레드 안전(Thread safety)
프로그램 실행 시 할당되는 프로세스 안에서 다양한 스레드가 동시에 돌아가면서 좀 더 빠르게 동작할 수 있도록 도와준다. 다양한 스레드들이 동시에 변수에 접근해 값을 변경할 수 있다. 그런데 동시에 값을 변경한다는 것은 위험한 것이다. 그래서 가능하면 값이 변경될 수 있는 것은 사용하지 않는 것이 좋다.
3. 실수 줄이기(Reduce human)
앞으로 값이 변경되어야 할 이유가 없다면 const를 이용하는 것이 바람직하다.
내가 코드를 추후에 변경하거나 다른 개발자가 변경할 때도 그 실수를 방지할 수 있다.
'자바스크립트' 카테고리의 다른 글
[Javascript] 기본 자료형 종류 (Primitive Type) (0) | 2021.09.12 |
---|---|
[Javascript] 데이터 타입 (Data types) - Primitive / Object (0) | 2021.09.11 |
[Javascript] 변수(Variable)란? 종류와 차이점 (0) | 2021.09.10 |