Open bucketHaneul opened 3 years ago
function Dog(){ this.pupper = 'Pupper'; }; Dog.prototype.pupperino = 'Pups.'; var maddie = new Dog(); //Using New Keyword console.log(maddie.pupper); // Pupper console.log(maddie.pupperino); // Pups. var buddy = Object.create(Dog.prototype); //Using Object.create() console.log(buddy.pupper); // undefined console.log(buddy.pupperino); // Pups.
new
new()
Object.assign()
const obj = {a: 1, b: 2}; const target = {c: 3};
const copiedObj = Object.assign(target, obj);
console.log(copiedObj); //{c: 3, a: 1, b: 2}
- shallow copy이다. ```javascript const person = { age: 100, name: { first: 'junwoo', last: 'park' } }; const copied = Object.assign({}, person); person.age = 1000; person.name.first = 'paul'; // person객체의 프로퍼티를 바꾸면, copied 객체의 프로퍼티가 바뀐다. console.log(copied.age); // 100 console.log(copied.name.first); // 'paul'
Object.create()
new와 Object.create()의 차이
new
는 생성자 코드를 실행한다.new()
가 더 빠르다Object.assign()
Object.assign()
메소드는 모든 열거 가능한 속성의 값을 복사하는 데 사용된다.const copiedObj = Object.assign(target, obj);
console.log(copiedObj); //{c: 3, a: 1, b: 2}
출처