javascript
[모던 자바스크립트]원시 값과 객체의 비교
Kassy_kim
2022. 12. 17. 19:49
원시 타입의 값
- 변경 불가능한 값 (읽기 전용)
- 원시 값을 변수에 할당하면 변수에는 실제 값이 저장된다.
- 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달된다.
- 불변성의 특징: 불변성을 갖는 원시 값을 할당한 변수는 재할당 이외에 변수 값을 변경할 수 있는 방법이 없다.
var score = 80;
var copy = score;
copy = 100;
console.log(score); // 80
console.log(copy); // 80
console.log(score === copy) //true
score = 100;
console.log(score,copy) //100,80
console.log(score === copy) //false
// ->따라서 score변수와 copy 변수의 값을 다른 메모리 공간에 저장된 별개의 값이라는 것을 알 수 있다.
객체(참조) 타입의 값
- 변경 가능한 값
- 객체를 변수에 할당하면 변수에는 참조 값이 저장된다.
- 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달된다.
- 이를 참조에 의한 전달이라고 한다.
var person1 = {
name:'Lee'
}
var person2 = {
name:'Lee'
}
console.log(person1 === person2); //false
console.log(person1.name === person2.name); //true