πΒ Reference
πΒ Chapter
Object.create(proto)λ 첫 λ²μ§Έ μΈμλ‘ μ λ¬λ κ°μ²΄λ₯Ό μλ‘ λ§λ€ κ°μ²΄μ νλ‘ν νμ
(__proto__)μΌλ‘ μ€μ νλ€.Object.create()λ λ΄κ° μνλ κ°μ²΄λ₯Ό 'μ‘°μλ'μΌλ‘ λͺ¨μλ μλ‘μ΄ μμ κ°μ²΄λ₯Ό λ§λλ κ°μ₯ μ§μ μ μΈ λ°©λ²μ΄λ€.const parent = {
sayHi: function() { console.log("μλ
, λλ λΆλͺ¨μΌ!"); }
};
// parentλ₯Ό νλ‘ν νμ
μΌλ‘ κ°μ§λ child κ°μ²΄ μμ±
const child = Object.create(parent);
child.sayHi(); // "μλ
, λλ λΆλͺ¨μΌ!" (λΆλͺ¨μ λ©μλλ₯Ό λΉλ € μ)
console.log(child.__proto__ === parent); // true
new ν€μλλ class λ¬Έλ² μμ΄λ κ°μ²΄ κ°μ λΆλͺ¨-μμ κ΄κ³λ₯Ό λ§Ίμ΄μ€ μ μλ€.Object.create(null)μ νλ©΄ μλ¬΄λ° μμ±λ, μ‘°μ(Object.prototype)λ μλ μμ κ°μ²΄λ₯Ό λ§λ€ μ μλ€. (λμ
λ리 μ©λλ‘ μμ ν¨)writable), μ΄κ±° κ°λ₯ μ¬λΆ(enumerable) λ±μ μΈλ°νκ² κ²°μ ν μ μλ€.