본문 바로가기
프론트엔드/JavaScript

JS 데이터 - 객체

by step 1 2021. 5. 31.
반응형

참고(검색: object mdn)

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object

 

Object - JavaScript | MDN

Object 생성자는 객체 래퍼(wrapper)를 생성합니다.

developer.mozilla.org

 

Object.assign(): 대상 객체로 속성을 복사

원본이 바뀌는 문법: const target = Object.assign(A, B)

원본이 유지되는 문법: const target = Object.assign({}, A, B)

 

// Object 예제
const userAge = {
  // Key: value
  name: 'happy',
  age: 48
}

const userEmail = {
  name: 'happy',
  email: 'happy@naver.com'
}
// 원본을 유지하는 방법
const target = Object.assign({}, userAge, userEmail)
console.log(target)
console.log(userAge)
// 같은 메모리를 바라보기 때문에 true 반환
console.log(target === userAge)


// 정적메소드: 복사 기능
const target2 = Object.assign(userAge, userEmail)
console.log(target2)
console.log(userAge)
// 같은 메모리를 바라보기 때문에 true 반환
console.log(target2 === userAge)


const a = { k: 123}
const b = { k: 123}
// 메모리 주소가 다르기 때문에 false 반환
console.log(a === b)

 

Object.keys(): 지정된 객체의 고유 한 열거 가능한 속성 이름 배열을 반환 하며 일반 루프와 동일한 순서로 반복

const user = {
  name: 'happy',
  age: 90,
  email: 'happy@navver.com'
}

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

// 인덱싱 방식
console.log(user['email'])

// key라는 매개변수이름은 변경할 수 있음
// key에 해당하는 값들만 추출해서 배열데이터로 만들수있음
const values = keys.map(key => user[key])
console.log(values)
반응형

'프론트엔드 > JavaScript' 카테고리의 다른 글

JS 데이터 - 전개 연산자 (Spread)  (0) 2021.05.31
JS 데이터 - 구조 분해 할당  (0) 2021.05.31
JS데이터 - 배열 2  (0) 2021.05.29
JS 데이터 - 배열  (0) 2021.05.29
JS 데이터 - 숫자(수학)  (0) 2021.05.29