* 객체 : 복합데이터
> 여러데이터를 묶어서 표현
> 상태와 행동을 묶어서 표현가능 : { key : value }
ex) { id : 1234, key : 'secret-key' }
> value에는 원시(primitive), 객체(object)둘다 들어갈 수 있다.
* 원시타입은 메모리 셀에 값 그자체가 들어가게 되고 객체는 Heap이라는 공간안에 메모리가 할당된다.
> Heap은 데이터의 사이즈가 정해져 있지 않고 동적으로 사이즈가 변화되는곳이 저장되는곳이다.
> 객체자체는 Heap어딘가에 메모리에 저장되어있고 메모리셀 여러개에 거처서 객체가 할당이 된다.
> 객체를 지칭하는 변수는 실제 메모리가 들어가 있는 메모리 주소를 가지고 있다.
: 객체의 메모리 할당은 해당 값을 가지고 있지 않고 메모리값이 저장되어 있는 주소를 가르키고 있다.
: Call by reference
// 객체를 사용하지 않을 경우
// 변수를 하나하나 설정해야해서 심각한 메모리 낭비가 발생한다.
let name = 'apple';
let color = 'red';
let display = '🍎';
let orangeName = 'orange';
let apple = {
name: 'apple',
color: 'red',
display: '🍎',
};
console.log(apple);
console.log(apple.name);
console.log(apple.color);
console.log(apple.display);
let orange = {
name: '오렌지',
color: 'orange',
display: '🍊',
};
console.log(orange);
'Study > JavaScript' 카테고리의 다른 글
[JavaScript_study] 값으로 평가될 수 있는 것들 (0) | 2022.04.10 |
---|---|
[JavaScript_study] 값과 참조의 차이 (0) | 2022.04.10 |
[JavaScript_study] null과 undefined 타입 (0) | 2022.04.10 |
[JavaScript_study] 숫자, 문자, 불리언 타입 (데이터 타입) (0) | 2022.04.10 |
[JavaScript_study] 변수 선언 및 할당 (0) | 2022.04.10 |