본문 바로가기

개발/javascript

객체 : 기본

모던 Javascript 튜토리얼을 공부한 내용을 요약 정리하며 작성한 내용입니다

 

1. 객체

자바스크립트에는 8개의 자료형이 있는데 7개의 원시형과 객체로 구분됩니다.

객체는 {...}중괄호를 이용해 만들 수 있는데 이 안에 '키:값' 쌍으로 구성된 프로퍼티를 여러개를 넣을 수 있습니다. 키에는 문자형만 포함할 수 있고 값에는 모든 자료형이 허용됩니다. 

객체를 만드는 것에는 두가지 방법이 있는데 하나는 객체 생성자 방법이고 다른 하나는 객체 리터럴 방법이 있습니다.

let user = new Object() //객체 생성자 문법 
let user ={}; //객체 리터럴 문법

리터럴 방식의 경우에는  {...}안에 프로퍼티 형식으로 구성할 수 있습니다.

이러한 객체는 읽기와 추가, 삭제등을 할 수 있다. 

let user ={
	name: "John"
}
//읽기
console.log(user.name);//John
//추가
user.isAdmin=true;
//삭제 
delete user.age;

 

 

대괄호 표기법 

점표기법으로 작동되지 않는 띄어쓰기나 특수문자가 포함된 프로퍼티 키는 [...]를 통해 사용 가능합니다. 

 

단축 프로퍼티 

프로퍼티에서 값과 키가 같은 경우 이를 생략하여 설정할 수 있습니다. { name , age, }

 

프로퍼티 이름 제약 사항 

변수 이름으로는 for let return같은 예약어를 사용해서는 안되지만 객체에서는 상관없습니다. 

하지만 __proto__의 경우에는 특별하게 대우를 받게 됩니다. 

 

객체의 정렬 방식 

객체에서는 정수프로퍼티는 자동으로 정렬되고 그 외의 프로퍼티는 객체에 추가한 순서 그대로 정렬됩니다. 

 

2. 참조에 의한 객체 복사 

객체는 참조에 의해서 저장되고 복사 되는 점이 원시타입과의 근본적인 차이이다. 

 

객체의 동작 방식 

변수에는 객체가 그대로 저장되는 것이 아니라 객체가 저장되어 있는 메모리 주소인 객체에 대한 참조 값이 저장된다. 

객체는 메모리 어딘가에 저장되고 변수 user엔 객체를 참조할 수 있는 값이 저장된다. 

따라서 객체가 할당된 변수를 복사할 땐 객체의 참조 값이 복사되고 객체는 복사되지 않는다. 

let user = { name: "John" };

let admin = user; // 참조값을 복사함

 

 

 

 

이러한 이유에서 객체에 접근하거나 조작할 땐 여러 변수를 사용할 수 있다. 

참조에 의한 비교 

 

'개발 > javascript' 카테고리의 다른 글

[JS] 시작  (1) 2024.06.07
자료구조와 자료형  (0) 2024.04.14
[javascript] new 연산자와 생성자 함수  (0) 2024.03.16
[javascript]메서드와 this  (0) 2024.03.14
[javascript]가비지 컬랙션  (0) 2024.03.14