[Intermediate] 데이터 - 객체

OROSY·2021년 3월 30일
0

JavaScript

목록 보기
33/53
post-thumbnail

1. 데이터 - 객체

1) 정적(Static) 메소드

"prototype"이 아닌 클래스 함수 자체에 메소드 설정 가능

1-1) Object.assign()

열거할 수 있는 하나 이상의 출처 객체로부터 대상 객체로 속성을 복사할 때 사용
const userAge = {
  // key: value
  name: 'Orosy'
  age: 33
}
const userEmail = {
  name: 'Orosy'
  email: 'hanei100@naver.com'
}

const target = Object.assign(userAge, userEmail)
console.log(target)
// {name: 'Orosy', age: 33, email: 'hanei100@naver.com'}
console.log(userAge)
// {name: 'Orosy', age: 33, email: 'hanei100@naver.com'}
console.log(target === userAge)
// 값: true, 내용이 같아서 true가 반환되는 것이 아니라
// target 변수와 userAge(대상 객체)가 가리키는 메모리 주소가 일치하기 때문!

const a = { k: 123 }
const b = { k: 123 }
console.log(a === b)
// 값: false, 내용은 같지만 가리키는 메모리 주소가 일치하지 않음
원본에 변화 없이 assign() 메소드 사용법
const userAge = {
  // key: value
  name: 'Orosy'
  age: 33
}
const userEmail = {
  name: 'Orosy'
  email: 'hanei100@naver.com'
}

const target = Object.assign({}, userAge, userEmail)
// 대상 객체를 {} 빈 객체로 설정하여 원본에 변화 없이 메소드 사용!
console.log(target)
// {name: 'Orosy', age: 33, email: 'hanei100@naver.com'}
console.log(userAge)
// {name: 'Orosy', age: 33}
console.log(target === userAge)
// 값: false

1-2) Object.keys()

객체 데이터의 property의 이름(key)만을 추출하여 배열 데이터로 반환
const user = {
  // key: value
  name: 'Orosy'
  age: 33,
  email: 'hanei100@naver.com'
}

const keys = Object.keys(user)
console.log(keys)
// 값: ['name', 'age', 'email']

console.log(user['email'])
// 값: hanei100@naver.com

const values = keys.map(key => user[key])
console.log(values)
profile
Life is a matter of a direction not a speed.

0개의 댓글