JavaScript
[JS] JavaScript 객체(Object) 정리
Toproot
2021. 7. 22. 23:52
728x90
728x90
📒 JS 객체(Object)
- prototype이 붙어있지 않은 메소드는 정적 메소드(정적 static)
- Object.assign(대상객체, 하나 이상의 출처 객체..) : 열거할 수 있는 하나 이상의 출처 객체로부터 대상객체로 속성을 복사할 때 사용합니다.
- 대상객체를 반환합니다. 두 객체를 병합해서 새로운 객체 반환. 출처객체 내용이 대상객체에 덮어씌워짐.
- 출처객체 → 대상객체.
Object.assign(대상객체, 출처객체)
https://developer.mozilla.org/ko/docs/orphaned/Web/JavaScript/Reference/Global_Objects/Object
참조 데이터
const userAge = {
// key: value 형태
name: 'Heropy',
age: 85
}
const userEmail = {
name: 'Heropy',
email: 'thesecon@gmail.com'
}
// Object에 바로 사용하는 정적 메소드
// assign(대상객체, 출처객체)
const target = Object.assign(userAge, userEmail)
console.log(target)
console.log(userAge)
// 같은 메모리 주소를 바라보고 있기 때문에 true
console.log(target === userAge)
const a = { k: 123 }
const b = { k: 123 }
// 생긴것은 같지만 false값으로 나옴.
// 각 객체는 고유 메모리 주소를 할당받음.
// 참조형 데이터 : 객체, 배열, 함수
console.log(a === b)
// 원본데이터는 손상되지 않도록 하고,
// 두 객체를 하나의 새로운 객체를 만드려면 첫 대상객체를 빈 객체 사용.
const target2 = Object.assign({}, userAge, userEmail)
keys()
const user = {
name: 'Heropy',
age: 85,
email: 'theseond@gmail.com'
}
// 객체데이터의 키값을 반환.
const keys = Object.keys(user)
console.log(keys)
// ['name', 'age', 'email']
// 객체데이터의 인덱싱
console.log(user['email']) // theseond@gmail.com
// 콜백함수 3번 실행
const values = keys.map(key => user[key])
console.log(values)
728x90
728x90