[JS] Primitive/Reference data type

seoa·2022년 9월 28일
0

JavaScript

목록 보기
7/11

자바스크립트의 자료형 (문자, 숫자, array, object 등)은 자료형을 크게 2개로 분류
1) Primitive data type
2) Reference data type

Primitive data type

  • 문자, 숫자 자료형들이 대표적
  • 변수에 데이터가 직접 저장되는 자료들
var name = 'Nam';
var age = 20;

Reference data type

  • Array, Object 자료형
  • 자료가 저기에 있다는 화살표(레퍼런스)를 변수에 저장
var 사람 = { name : 'Nam' };
// 변수에 { name : 'Nam' } 이 오브젝트 데이터가 저장된게 아님
// { name : 'Nam' } 값의 위치를 가리키는 화살표가 '사람' 변수에 저장된 것

그래서,
Reference 타입 자료형인 object를 복사하면

var 사람1 = { name : '남' };
var 사람2 = 사람;
사람1.name = '김';

사람2 변수를 출력해보면 { name : '남' } 데이터가 출력될 것이라고 생각할 수 있는데

console.log(사람1); // { name : '김' }
console.log(사람2); // { name : '김' }

사람2 변수의 값을 수정하지 않았지만 사람1과 같은 데이터가 출력된다

=> 사람2 변수에는
사람1 변수의 데이터를 가리키는 화살표 가 저장되어 있기 때문

=> object, arrary 자료형은 등호로 복사하면 기존값과 복사했던 모든 변수의 데이터 값이 변경되기 때문에

constructor 문법을 쓰셔서 object를 복사하는 것이 안전하다

추가) 데이터가 같다고해서 두 변수를 비교하면 false

// 서로 다른 화살표를 가짐 
var 이름1 = { name : '김' };
var 이름2 = { name : '김' };


출처 : 코딩애플 Javascript 강의 영상

profile
👩🏻‍💻

0개의 댓글