[JS] 표준 내장 객체 - 객체

김다빈·2023년 8월 10일

자바스크립트

목록 보기
11/36
post-thumbnail

표준 내장 객체 내용은 다 외울건 아니고 그냥 이런게 있구나... 나중에 쓸 일 있으면 참고하려고 작성합니다.

📢 표준 내장 객체 학습 시 주의사항

새로운 데이터를 반환하는지, 원본 데이터를 수정하는지를 확인하기!


📌 객체

(참고) 코딩앙마 객체 메소드 정리

Object.assign()

  • 하나 이상의 출처(source) 객체로부터 대상(target) 객체로 요소를 복사하고 대상 객체를 반환
  • target 객체와 source 객체에 같은 key가 있다면 더 나중에 추가된 value로 값을 덮어쓴다.

Object.assign(target, ...sources);

  • target : 원본 객체 (반환할 대상)
  • source : 복사할 내용을 담은 객체
  • 원본 객체를 변형시키지 않고 실행하고 싶으면 target 객체를 빈 객체 {} 로 지정한다.
const target = { a: 1, b: 2 }
const source1 = { b: 3, c: 4 }
const source2 = { c: 5, d: 6 }
let 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 }

//만약 target 객체의 원본을 바꾸고 싶지 않다면?
result = Object.assign({}, target, source1, source2)
console.log(result) //{ "a": 1, "b": 3, "c": 5, "d": 6 }
  • Object.assign() 메소드를 사용하지 않고 객체를 합치는 또 다른 방법 : 전개연산자 활용하기
const target = { a: 1, b: 2 }
const source1 = { b: 3, c: 4 }
const source2 = { c: 5, d: 6 }
let result = {
  ...target,
  ...source1,
  ...source2
}

Object.entries()

  • 주어진 객체의 각 속성과 값으로 하나의 배열을 만들어 요소로 추가한 2차원 배열을 반환
const user = {
  name: 'Happy',
  age: 80,
  inValid: true,
  email: 'happy123@gmail.com'
}

console.log(Object.entries(user))
//[ ['name', 'Happy'], ['age', 80], ['inValid', true], ['email', 'happy123@gmail.com'] ]

for (const [key, value] of Object.entries(user)) {
  console.log(key, value)
}
//name Happy
//age 80
//inValid true
//email happy123@gmail.com
profile
Hello, World

0개의 댓글