카테고리 없음

2024. 07. 23.(JavaScrip 기본 문법 정리 - 객체)

cha123hein 2024. 7. 23. 20:17

객체 : key-value pair의 형태이며, 하나의 변수에 여려 개의 값을 넣을 수 있다.

 

1. 객체 생성 방법

1-1. 기본적인 객체 생성 방법

let person = {

name : "홍길동",

age : 30

};

 

1-2. 생성자 함수를 이용한 객체 생성 방법(this)

fuction person(name, age, gender) {

this. name = name;

this. age = age;

this. gender = gender;

}

 

2. 접근하는 방법

console. log(객체이름. 객체의 key);

console. log(person. name);

-> 이름이 결과값으로 출력된다.

 

3. 객체 메소드(객체가 가진 여러가지 기능 : Object.~~~)

3-1. Object. key() : key를 가져오는 메소드

let person = {

name : "홍길동:

age : 30,

gender : "남자"

};

let keys = Object. keys(person);

console.log("keys =>", keys);

-> key값인 'name', 'age', 'gender' 라는 결과값이 나온다.

 

3-2. values

let values = Objcet. values(person);

console. log("values =>", values);

-> values값인 홍길동, 30, 남자가 결과값으로 나온다.

 

3-3. entries : key와 value를 묶어서 배열로 만든 배열(2차원 배열)

let entries = Object.entries(person);

console.log("entries => ", entries);

-> [key, values]로 묶은 값들이 나온다.

 

3-4. assign : 객체를 복사한다.

Object. assign(어디에다가 복사할지, 무얼 복사할지)

ex)

let newperson = {};

Object.assign(newperson, person);

console.log(newperson)

 

-> 만약 복사는 그대로 하고 싶은데 한가지만 변경하고 싶을 때 

Object. assign(어디에다가 복사할지, 무얼 복사할지(바꾸고 싶은 key : 바꿀 값))

으로 입력하면 한가지만 바꿔진다.

ex)

let newperson = {};

Object.assign(newperson, person(gender : "여자");

console.log(newperson)

 

3-5. 객체 비교

보통 비교를 위해서는

console. log(A===B);

위와 같이 비교를 하는데, 객체의 경우 크기가 크기 때문에 메모리에 저장을 할 때 별도의 공간에 저장을 해야한다.

각 객체는 별도 공간에 저장이 되어있는 상태에기 때문에 주소가 달라서 객체를 비교할 때 false로 나온다.

console. log(JSON.stringify) -> 객체를 문자열로 변환시키는 코드이다.

ex) console. log(JSON.stringify(객체1===객체2)로 넣으면 안에 내용을 비교할 수 있다.

 

3-6. 객체 병합

let A = {...person1, ...person2};

-> person1 객체를 풀어서 배열, preson2 객체를 풀어서 배열하여 둘을 병합한다.