function Character(wroteTo, id, film) {
this.wroteTo = wroteTo;
this.id = id;
this.film = film;
}
let Paul = new Character("Paul", 1, "Dune");
let Elio = new Character("Elio", 2, "Call me by your name");
let Gatsby = new Character("Gatsby", 3, "Rainy days in Newyork");
let Lee = new Character("Lee", 4, "Bones and all");
// get Paul's id
console.log('paul id',Paul.id);
// get Paul's film
console.log('paul film',Paul.film);
// get Paul's wroteTo
console.log('paul wroteTo',Paul.wroteTo);
//Object.keys() 메소드 : key의 이름을 배열로 반환
let keys = Object.keys(Paul);
console.log(keys); // ['wroteTo', 'id', 'film']
//Object.values() 메소드 : value들을 배열로 반환
let values = Object.values(Paul);
console.log(values); // ['Paul', 1, 'Dune']
//Object.entries() 메소드 :
let entries = Object.entries(Paul);
console.log(entries);
// [ ['wroteTo', 'Paul'], ['id', 1], ['film', 'Dune'] ]
console.log(entries[0]); // ['wroteTo', 'Paul']
console.log(entries[0][1]); // Paul
//Object.assign() 메소드 :
//새로운 객체를 만들고 기존 객체 데이터를 복사
//그렇게 복사된 데이터를 가진 새로운 객체에 데이터를 부분적으로 수정할 때 보통 쓰임
// let newObj = Object.assign(target, source)
// target : 복사하는 객체, source: 복사에 참조할 객체
let newPaul = Object.assign({}, Paul);
console.log(newPaul); // newPaul = {wroteTo: "Paul", id: 1, film: "Dune"}
newPaul.id = 10;
console.log(newPaul); // {wroteTo: 'Paul', id: 10, film: "Dune"}
console.log(Paul); // {wroteTo: 'Paul', id: 1, film :"Dune}
let newPaul2 = Object.assign({}, Paul, {film: 'Dune2'});
console.log('newPaul2',newPaul2); // {wroteTo: "Paul", id: 1, film :"Dune2"}
let newPaul3 = Object.assign({}, Paul, film: 'Dune3');
console.log('newPaul3', newPaul3); // Syntax Error
let a = 1;
let b = 3;
b = 4;
console.log(a,b); // a = 1, b = 4
728x90
반응형
'부트캠프 개발일지 2023-2024 > Bootcamp 생활기록' 카테고리의 다른 글
[7주차] 리액트: Link 에서 데이터 전달하기 (useLocation) (0) | 2023.11.15 |
---|---|
[7주차] 리액트: 로컬파일 dummyData(json) 가져오기 (0) | 2023.11.15 |
옆의 사람이 아니라 예전의 나와 비교해라 (0) | 2023.11.14 |
[7주차] 리액트: 버튼을 눌렀을 때 색 변하게 하기 (styled-components) (0) | 2023.11.14 |
[6주차] 리액트로 Todo List 만들기 (0) | 2023.11.07 |