원시자료형 vs 참조자료형

김루루룽·2022년 8월 3일
0

blog✏️

목록 보기
22/61
post-thumbnail

Primitive type

primitive type (원시값) : JavaScript에서 원시값이란?
객체가 아니면서 메서드도 가지지 않는 데이터를 말한다.
모든 원시 값은 불변하여 변형할 수 없다.
원시 값 자체와, 원시값을 할당한 변수를 혼동하지 않는 것이 중요.

primitive type 7종류

string
number
bigint
boolean
undefined
symbol
null

let bar = "apple"
bar.toUpperCase(); 
console.log(bar) // "apple"

let foo = "orange"
foo = foo.toUpperCase(); // ORANGE

-> 원시값을 교체할 수는 있지만, 직접 변형 할 수는 없다.

함수들 내부의 모든 변경은 그 복사본으로 작업하였기 때문에, 원본에 전혀 영향을 주자 않았다.


이것이 원시 값이 변하지 않는 이유
원시 값에 직접 작업하지 않으므로, 원본을 건드리지 않고 복사본을 가져와 작업한다.

[출처: mdn web docs]


Reference type

Reference type:
메모리에 값을 주소로 저장하고, 출력시 메모리 주소와 일치하는 값을 출력한다.

대표적인 Reference type

object : {foo: "bar"}
array : [1, 2, 3, 4]
function (object) : function foo () {}
class : class foo {}

대입 연산자를 이용해 사용

const x = {count: 100}
const y = x

y.count = 99


console.log(y) // 99

정리

Primitive Type : 데이터의 실제 값 할당
Reference Type : 데이터의 위치 값만 할당

profile
1day 1push..plz

0개의 댓글