객체(Object) 4가지 메소드

Jaeseok Han·2023년 2월 21일

javascript 문법

목록 보기
1/11
post-thumbnail

Obejct.assign();
Object.keys();
Object.values();
Object.entries();

1.Object.assign()

얕은 복사

객체의 할당된 주소값을 복사하기 때문에 수정 시 원본의 영향을 줌

const user = {
	name : "jackson",
    age : 10
}
const userClone = user; //얕은 복사
userClone.name = "mike
console.log(user.name) // "mike"

깊은 복사

객체 자체를 복사하기 때문에 별개의 주소값으로 인식하여 복사한 객체를 수정하더라도 원본의 영향이 없음

const userClone2 = Object.assign({}, user); //깊은 복사
userClone.name = "mike";
console.log(user.name) //jackson;

Object.assign(target , sources)

매개변수

target : 목표 객체, 객체의 속성을 복사해 반영한 후 반환할 객체
sources : 출처 객체, 목표 객체에 반영하고자 하는 속성들을 갖고 있는 객체

첫번째 매개변수에 {} 빈 객체를 넣었을 경우 완전 복사
다른 객체를 넣고 넣을경우 병합또는 수정된 객체 깊은 복사

예제

병합된 객체 복사

Object.assign({gender : "male"} , user}
{
	gander : "male",
    name : "jackson",
    age : 10
}

수정된 객체 복사

Obejct.assign({name : "smith"} , user}
{
	name : "smith",
    age : 10
}

2.Object.keys()

키를 배열로 반환

const user = {
	name : "jackson",
    age : 10
}
Object.keys(user) // [name , age]

3.Object.values()

데이터 값을 배열로 반환

const user = {
	name : "jackson",
    age : 10
}
Object.values(user) // ["jackson" , 10]

4.Object.entries()

키와 값을 모두 배열로 반환
[key , value] 형식 배열

const user = {
	name : "jackson",
    age : 10
}
Object.entries(user) // [["name","jackson"] , ["age", 10]]

0개의 댓글