본문 바로가기
Web/JavaScript

Javascript - 배열과 객체

by 다니엘의 개발 이야기 2023. 1. 21.
320x100

Javascript - 배열과 객체

 

#1 원시 타입 Primitive type

 

1.종류

 

String

Number

Boolean

Bigint

undefined

Symbol

Null


2.특징

 

불변성

데이터에  변화가 없다.

예를들어

let box = ‘as’; 라고 하면

as는 1이라는 메모리주소에 담기게 되고

 

box = ‘zx’; 라고 재선언을 해주게 되면

zx는 2라는 메모리 주소에 담기게 된다.


#2 참조 타입 Reference type

 

1.종류

원시 타입 외의 모든것


2.특징

 

let obj = { name: ‘butter’}

라고 하게 되면

 

obj에는 메모리 주소값 1에 담기게 되고

메모리 주소 1은 실질적으로 { name: ‘butter’}가 들어있는

메모리 주소 100을 참조해오는 구조이다.

import와 같은 개념이라고 보면 된다.

 

때문에 

let arr = [1,2,3]

 

arr === [1,2,3]

을 해주게 되면 false가 나오게된다.

 

왜냐하면 값 자체는 같아도

참조해오는 메모리 값이다르기 때문이다.


#3 참조타입의 연장선상

 

예를들어서

 

let box = [1,2];

let copy = box;

라고 해줄 경우에는

 

box와 copy 둘다 동일한 box, copy는 예를들어 동일한 베이스 메모리 “A”라는 위치에 저장되며

, [1,2]라는 값이 실제로 담긴 참조 메모리 “C”를 함께 참조한다.

 

이에 따라 copy.pop()을 하거나 box.pop() 둘중에 하나라도 실행하게 된다면

가장 뒤의 값인 2 날라가고 [1] 남게 된다.

300x250