240808 객체 복습

신한별·2024년 8월 8일

💪 매일 기록

목록 보기
39/97

{객체}

const user = {
    name : "신형만",
    age : 30,
    isAdmin : true,
    printHello: ()=>console.log("hello"),
};

user.email = "hyungman@gmail.com"; // 추가
user.age = 31; // 수정
delete user.isAdmin; // 삭제

console.log(user);

리액트는 변수(state)에 값을 저장(추가/수정/삭제)할 때 이런식으로 사용하지 않는다! 😨 (이거 쓰려고 또 객체 글 썼다.)
=> 불변성을 유지해서 새로운 객체/배열을 생성해서 값을 변경하는 방식을 사용
=> 위의 코드는 불변성이 깨진 상태

객체 매소드

(1) Object.keys()

객체의 key만 추출한다.

const user = {
    name : "신형만",
    age : 30,
    isAdmin : true,
};

const keys = Object.keys(user);
console.log(keys); // ['name', 'age', 'isAdmin'] 배열로 출력

(2) Object.values()

객체의 값만 추출한다.

const values = Object.values(user);
console.log(values); // ['신형만', 30, true] 배열로 출력

(3) Object.entries()

객체의 키-값 쌍을 추출한다.

const entries = Object.entries(user);
console.log(entries); // [['name','신형만'],['age',30], ['isAdmin',true]] 배열로 출력

(4) Object.entries(A, B)

기존 객체 A (대상 객체) 에 다른 객체 B (출처 객체) 를 추가한다.

const userDetails = {
    occupation : '개발자',    
};

Object.assign(user, userDetails); //
console.log(user); // { name: '신형만', age: 30, isAdmin: true, occupation: '개발자' } 

0개의 댓글