모던 자바스크립트 Deep Dive를 참고하여 학습,작성하였습니다.
1.참조타입(Reference Type)
object 타입은 참조타입으로 객체의 연산이 실제값이 아닌 참조값으로 처리된다.
다음 경우에는 a와 b는 같은 객체를 참조하지만 c는 다른 객체를 참조한다.
(아래 코드에서 b=a 를 한다는것은 복사가 아니라 같은 객체를 참조시킨다는 뜻이다. 때문에 b.val를 바꿨을때 a.val 또한 같은 객체를 참조하기 때문에 바뀐다.)
var a={
val:5
}
var b=a;
var c={
val:5
}
document.write(a.val+" "+b.val+"<br>")
document.write((a==b)+"<br>");
document.write((a==c)+"<br>");
b.val=10
document.write(a.val)
2.원시 타입(Primitive Type)
원시 타입은 "값"으로 전달한다.
메모리의 스택 영역(Stack Segment)에 고정된 메모리 영역을 점유하고 저장된다.
var a1=10;
var a2=a1;
var a3=10;
document.write((a1==a2)+"<br>")
document.write((a2==a3))
🎈참고자료
https://poiemaweb.com/js-immutability
반응형
'FrontEnd > JavaScript' 카테고리의 다른 글
[JavaScript] 변경불가성(Immutability) (0) | 2024.06.03 |
---|---|
[JavaScript] 객체(Object) (0) | 2024.06.03 |
[JavaScript] 배열 메소드 (0) | 2024.06.01 |