자바스크립트 기초 1. 변수

Whitejh·2021년 2월 1일
0

JavaScript

목록 보기
1/4

primitive 타입과 object의 차이점

primitive 타입 : number, string, boolean, null, undefined

let number = 2; // 숫자
let num = '2';  // 문자열

object

let obj = {
    name: 'alex',
    age: 5,
};
console.log(obj.name);  //alex 출력 
let obj2 = obj;
console.log(obj2.name); //alex 출력 

obj.name = 'james';
console.log(obj.name);  //james 출력
console.log(obj2.name); //james 출력

primitive 타입은 데이터 자체가 변수에 담겨져있어서 복사되어 들어오지만
object는 object를 가리키고 있는 주소(reference)가 들어있어서 그 주소만 복사되어서 들어온다.

let a =2 ;
a = 5; 

const num = 2;
num = 4; // 이거 안됨

let은 값 변경 가능, const는 불가능

const obj = {
    name: 'alex',
    age: 5,
};

obj = {
	name = 'james',
    age: 7;
}

reference 자체를 다른 reference로 바꾸는 것은 불가능!

const obj = {
    name: 'alex',
    age: 5,
};
obj.name = 'james';

obj가 가리키고 있는 name은 바꾸는 것이 가능!


<정리>
object는 object 자체가 담겨있는 게 아니라
어딘가에 따로 저장되어 있고 이것을 가리키고 있는 reference들이 들어있기 때문에
reference는 다른 object로 변경하는 것은 불가능하지만
reference가 가리키고 있는 object의 안 내용은 변경 가능!

0개의 댓글