JavaScript

javaScript-객체

용용it 2023. 8. 25. 23:48

Object.assign()

하나 이상의 출처(Source) 객체로부터 대상(Target) 객체로 속성을 복사하고 대상 객체를 반환.

 

const target = { a:1, b:2 }
const source1 = { b:3, c:4 }
const source2 = { c:5, d:6 }
const result = Object.assign(target, source1, source2)

console.log(target)	// { a:1, b:3, c:5, d:6 }
console.log(result)	// { a:1, b:3, c:5, d:6 }

만약 새로운 객체를 반환하게 하려면, 

const target = { a:1, b:2 }
const source1 = { b:3, c:4 }
const source2 = { c:5, d:6 }
const result = Object.assign({}, target, source1, source2)


// 전개 연산자로도 표현 가능 

const result = {
	...target,
    ...source1,
    ...source2
}


console.log(target) // { a:1, b:2 }
console.log(result)	// { a:1, b:3, c:5, d:6 }

 

 


 

 

Object.entries()

 

주어진 객체의 각 속성값으로 하나의 배열을 만들어 요소를 추가한 2차원 배열을 반환한다.

 

const user = {
    name: 'Dragon',
    age: 26,
    isValid: true,
    email: 'test@test.com'
}

console.log(Object.entries(user)) 
//
//    [
//    ["name","Dragon"],
//    ["age",26],
//    ["isValid",true],
//    ["email","test@test.com"]
//    ]

for (const [key, value] of Object.entries(user)) {
	console.log(key,value)
}
	// name Dragon
	// age 26
	// isValid true
	// email test@test.com

 

 

 


 

 

Object.keys()

 

주어진 객체의 속성 이름을 나열한 배열을 반환한다.

 

const user = {
    name: 'Dragon',
    age: 26,
    isValid: true,
    email: 'test@test.com'
}

console.log(Object.keys(user)) 
// ["name","age","isValid","email"]

 


 

Object.values()

 

주어진 객체의 속성 값을 나열한 배열을 반환한다.

 

const user = {
    name: 'Dragon',
    age: 26,
    isValid: true,
    email: 'test@test.com'
}

console.log(Object.values(user)) 
// ['Dragon', 26, true, 'test@test.com']

 

'JavaScript' 카테고리의 다른 글

javaScript-콜백 지옥  (0) 2023.08.28
javaScript-동기, 비동기  (0) 2023.08.28
javaScript-배열4  (0) 2023.08.24
javaScript-배열3  (0) 2023.08.24
javaScript-배열2  (0) 2023.08.23