티스토리 뷰

원시 값과 객체의 비교


1. 원시 값

원시 타입의 값, 즉 원시 값은 변경 불가능한 값. 한번 생성된 원시 값은 읽기 전용 값으로서 변경할 수 없다. 상수는 재할당이 금지된 변수를 말한다. 상수도 변수라 할 수 있다. 원시 값을 재할당하면 메모리 공간에 저장되어 있는 재할당 이전의 원시 값을 변경하는 것이 아니라 새로운 메모리 공간을 확보하고 재할당한 원시 값을 저장한 후, 변수는 새롭게 재할당한 원시 값을 가리킨다. 그 이유는 원시 값이 변경 불가능한 값이기 때문이다. 이러한 특성을 불변성이라고 한다.

2. 객체

객체는 프로퍼티의 개수가 정해져 있지 않으며, 동적으로 추가되고 삭제 할 수 있다. 객체를 할당한 변수는 재할당 없이 객체를 직접 변경할 수 있다는 점이 원시 값과 차별되는 점이다. 이 말은 여러개의 식별자가 하나의 객체를 공유 할 수 있다는 점을 내포하고 있다.

var person1 = {name: "Lee"}
var person2 = {name: "Lee"}

console.log(person1 === person2);  //false
console.log(person1.name === person2.name);  // true

=== 일치 비교연산자로 객체를 할당한 변수를 비교하면 참조 값을 비교하고, 원시 값을 할당한 변수를 비교하면 원시값을 비교한다. 따라서 첫 번째는 false, 두 번째는 true가 나오게 된다.

'JavaScript' 카테고리의 다른 글

[JavaScript] Map  (2) 2023.08.14
JavaScript 키워드  (0) 2023.04.04
JavaScirpt 변수  (0) 2023.04.03
JavaScript 함수  (0) 2023.04.02
JavaScript 객체  (0) 2023.03.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30