[코드캠프 벨류업]Immutable & Mutable

민범기·2022년 5월 2일
0

메모리영역에서 변경 가능 여부를 의미한다.

원시타입 : immutable (변경불가능) 값

변할 수 있다는 뜻
참조타입
해당 데이터 주소를 찾아서 값을 변경함

참조타입 : mutable (변경가능) 값

불변, 변할 수 없다는 뜻
원시타입
해당 데이터 주소와 별개의 새로운 주소에 값이 할당

//immutable
//불변
var str = 'Hello';
str = 'world';

위의 코드에서 str에서의 hello 에서 str이 world로 가르키는 주소가 바뀌었다.
잘 보면 주소가 바뀐것이다 메모리 상에는 hello 라는 값이 남아있지만 str이 바라보는 주소가 변경되어서 str은 world로 출력이 된다.

//Mutable
// 가변
let jaen = {location: 'earth'};
let jaek = jaen;
// 서로 바라보는 객체의 주소값이 같다.

jaek.location = 'moon';

/*
[result]
jaen: {location: 'moon'}
jaek: {location: 'moon'}
 
값이 저장된 메모리 주소를 함께 바라보기 때문에 메모리 영역 값이 바뀜
profile
프론트엔드 개발 지망생 민범기입니다^^

0개의 댓글