본문 바로가기
JavaScript

자바스크립트 객체 메소드 모아보기

by rinny01 2025. 1. 2.
반응형

Object.Keys()

const object1 = {
  a: 'somestring',
  b: 42,
  c: false,
};

console.log(Object.keys(object1));
// Expected output: Array ["a", "b", "c"]

 

 

Object.keys() 메소드는 객체의 key값들을 배열로 반환하여준다

 

Object.values()

속성값을 배열로 반환하여 준다.

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};
let values = Object.values(person);
console.log(values);   // ["홍길동", 30, "남자"]

 

Object.entries()

키와 벨류를 묶어서 배열로 만든다.

var obj = {
    a = "가",
    b = "나",
    c = "다"
}
Object.entries(obj);
[['a', '가'],['b', '나'],['b', '다']]

 

Object.assign()

기존 객체를 복사하여 새로운 객체를 만든다.

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};
let newPerson = Object.assign({}, person, { age: 35 });
console.log(newPerson);   // { name: "홍길동", age: 35, gender: "남자" }

 

JSON.stringify()

자바스크립트 값이나 객체를 JSON 문자열로 변환한다.

  • person1과 person2의 객체 키 - 벨류는 똑같다.
  • 근데 person1 === person2 는 왜 false 일까?
    • 객체는 크기가 상당히 크기때문에 별도의 공간에 저장한다. person1과 person2가 각 다른 공간에 저장되기 때문에 메모리 주소가 다르다. 그래서 false를 반환한다.
  • JSON.stringify(person1) === JSON.stringify(person2)  : true이다.
    • 문자열로 변환하여 비교하기 때문에
let person1 = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};

let person2 = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};

console.log(person1 === person2);   // false
console.log(JSON.stringify(person1) === JSON.stringify(person2));   // true

 

...전개연산자

let obj1 = { a: 1, b: 2 };
let obj2 = { b: 3, c: 4 };
let mergedObj = { ...obj1, ...obj2 };
console.log(mergedObj);  // { a: 1, b: 3, c: 4 }
  • 객체를 펼쳐서 다른 객체와 병합할수 있게 해준다.
  • 중복되면 뒤에오는 객체가 덮어쓴다
반응형
LIST