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)에 값을 저장(추가/수정/삭제)할 때 이런식으로 사용하지 않는다! 😨 (이거 쓰려고 또 객체 글 썼다.)
=>불변성을 유지해서 새로운 객체/배열을 생성해서 값을 변경하는 방식을 사용
=> 위의 코드는 불변성이 깨진 상태
객체의 key만 추출한다.
const user = {
name : "신형만",
age : 30,
isAdmin : true,
};
const keys = Object.keys(user);
console.log(keys); // ['name', 'age', 'isAdmin'] 배열로 출력
객체의 값만 추출한다.
const values = Object.values(user);
console.log(values); // ['신형만', 30, true] 배열로 출력
객체의 키-값 쌍을 추출한다.
const entries = Object.entries(user);
console.log(entries); // [['name','신형만'],['age',30], ['isAdmin',true]] 배열로 출력
기존 객체 A (대상 객체) 에 다른 객체 B (출처 객체) 를 추가한다.
const userDetails = {
occupation : '개발자',
};
Object.assign(user, userDetails); //
console.log(user); // { name: '신형만', age: 30, isAdmin: true, occupation: '개발자' }