728x90
자바 스크립트의 7가지 데이터 타입 -> 원시와 객체 타입으로 나눌 수 있음.
- 원시 값
변경 불가능한 값
변수에 할당 시 변수(확보된 메모리 공간)에 실제 값 저장
원시 값을 가진 변수를 다른 변수에 복사 시 원본의 원시 값이 복사되어 저장
(값에 의한 전달) - 객체 값
변경 가능한 값
변수에 할당 시 변수에 참조 값 저장
객체 값을 가진 변수를 다른 변수에 복사 시 원본의 참조 값이 복사되어 저장
(참조에 의한 전달)
원시 값
-> 원시 값 자체는 변경 불가하지만 이를 할당한 변수 값은 변경이 가능
(변수와 값의 의미를 구분하는 것이 포인트)
원시 값 불변(신뢰성) -> 재할당 시 메모리 주소의 변경
//값에 의한 전달
var score = 80;
var copy = score;
console.log(score); // 80
console.log(copy); // 80
score = 100;
console.log(score); // 100 (재할당 되어 100으로 변경)
console.log(copy); // 80 (원본의 원시값이 할당되었으므로 변경X)
객체
프로퍼티 개수 지정X, 동적 추가, 삭제O
-> 변경 가능한 값으로서 참조 값에 접근(참조한다, 가리킨다와 같은 표현)
-> 재할당 없이 객체를 직접 변경 가능(동적 접근)
// 참조에 의한 전달
var person = {
name: "Lee";
}
var copy = person; // 참조 값 복사(얕은 복사)
copy.name = "jeong"; // 복사한 참조값을 통해 객체 변경
// 어느 한쪽에서 값을 변경, 삭제 시 양쪽 다 영향을 받음
'Front-End Study > 모던 자바 스크립트_DeepDive' 카테고리의 다른 글
모던 자바 스크립트 기본 개념 정리 (0) | 2024.03.27 |
---|---|
CH_17. 생성자 함수에 의한 객체 생성 (0) | 2023.11.18 |
CH_16. 프로퍼티 어트리뷰트 (1) | 2023.11.18 |
CH_13. 스코프 (1) | 2023.11.18 |