[JavaScript] 자바스크립트 가변성(Mutable)과 불가변성(Immutable) 이해하기
2022. 6. 6. 00:22ㆍProgram/JavaScript
069_자바스크립트 가변성(Mutable)과 불가변성(Immutable) 이해하기
[적용]
- 데이터의 속성을 이해하고 싶을 때
[문법]
| 데이터 타입 | 특징 |
| 원시(Primitive) 타입 | 불가변성 |
| 객체(Object) 타입 | 가변성 |
[내용]
원시 타입과 객체 타입의 차이는 데이터 값의 변환 가능 여부다.
원시 타입의 데이터는 변할수 없으므로 불가변성(Immutable)이며, 객체 타입은 가변성(Mutable)이다.
가변성 객체 타입 중 하나인 배열의 데이터를 확인해 보자.
배열의 첫 번째 데이터는 1이지만, 100을 대입하면 1이 100으로 변경된다.
이것이 가변성이다.
const myArray = [1, 2, 3];
myArray[0] = 100;
console.log(myArray); // 결과: [100, 2, 3]
다음으로 불가변성의 데이터를 확인해 보자.
let myNumber = 10;
myNumber = 20;
console.log(myNumber); // 결과: 20
대입한 값의 10은 더이상 변경되지 않는다.
myNumber 변수에 20을 대입하면 10이 20으로 바뀌는 것이 아니라, 20이라는 새로운 데이터를 참조하는 것이다.
이것이 불가변성이다.
참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김
'Program > JavaScript' 카테고리의 다른 글
| [JavaScript] 자바스크립트 객체 인스턴스(Instance) 확인하기 (0) | 2022.06.06 |
|---|---|
| [JavaScript] 자바스크립트 데이터 타입 확인하기 typeof (0) | 2022.06.06 |
| [JavaScript] 자바스크립트 데이터 타입 이해하기 (0) | 2022.06.05 |
| [JavaScript] 자바스크립트 객체 수정 제한하기 (0) | 2022.06.03 |
| [JavaScript] 자바스크립트 객체 요소 분할 대입(비구조화 할당)하기 (0) | 2022.06.03 |