Prototype Pattern
JavaScript κΈ°μ€μΌλ‘ μ€λͺ ν©λλ€.
μλ―Έ
κ°μ²΄λ₯Ό 볡μ νμ¬ μμ±ν¨μΌλ‘μ¨ μλ‘μ΄ κ°μ²΄λ₯Ό λ§λ€μ΄λ΄λ ν¨ν΄μ΄λ€.
JavaScript Prototype
JavaScriptμμλ λͺ¨λ κ°μ²΄κ° μ체μ μΌλ‘ νλ‘ν νμ μ κ°μ§λ€. (νλ‘ν νμ κΈ°λ° μΈμ΄λΌκ³ λΆλ¦¬λ μ΄μ μ΄λ€.) κ°μ²΄λ₯Ό μμ±ν λ ν΄λΉ κ°μ²΄μ νλ‘ν νμ μ κΈ°λ°μΌλ‘ μλ‘μ΄ κ°μ²΄λ₯Ό λ§λ€ μ μμΌλ©°, μ΄λ ν΄λμ€ κ°μ²΄ μμ± μμλ λ§μ°¬κ°μ§μ΄λ€. ν΄λμ€λ νλ‘ν νμ μ λ μ½κ² λ€λ£° μ μλλ‘ κ΅¬λ¬Έμ μ€ν(syntactic sugar) μν μ ν λΏ λ΄λΆμ μΌλ‘λ νλ‘ν νμ κΈ°λ°μ μμμ μ¬μ©νλ€.
κΈ°μ‘΄ κ°μ²΄μ μμ±μ κ°μ²΄ μμ±μμ prototype
νλ‘νΌν°μ μ μλλ€. Object.getPrototypeOf()
, Object.setPrototypeOf()
λ©μλλ₯Ό ν΅ν΄ prototype
μ μ‘°νΒ·λ³κ²½ν μ μλ€.
Prototype Chain
κ°μ²΄κ° νλ‘νΌν°λ λ©μλμ μ κ·Όνλ €κ³ ν λ, ν΄λΉ κ°μ²΄μ κ·Έ νλ‘νΌν°λ λ©μλκ° μλ€λ©΄ μλμΌλ‘ μμ νλ‘ν νμ κ°μ²΄μμ κ²μνλ€. μ΄λ₯Ό νλ‘ν νμ 체μΈμ΄λΌκ³ νλ€.
μ΄ λ¬Έμμμ νλ‘ν νμ
체μΈμ μμ±νλ λ€μν λ°©λ²μ λΉκ΅νλλ°, μλλ Object.create()
λ‘ μμ±ν μμμ΄λ€.
μ₯μ
νλ‘ν νμ 체μΈμ ν΅ν΄ λμ κ°μ²΄μ νλ‘νΌν°κ° μ§μ μ μΈλμ΄μμ§ μμλ λλ―λ‘, λ©λͺ¨λ¦¬λ₯Ό μ μ½ν μ μλ€.
λ¨μ
μ€μ λ‘ μ½λκ° μ€νλλ λμ
Object.prototype
μ μμ νλ€λ κ²μ μ±λ₯λ°μ μ°½λ¬Έλ°μΌλ‘ λμ Έλ²λ¦°λ€λ κ²μ λ»ν©λλ€. μ λ νμ§λ§μΈμ! - JavaScript engine fundamentals: optimizing prototypes
JavaScript 곡μ λ¬Έμμμλ κ°λ ₯ν κ²½κ³ νκ³ μλ λ΄μ©μΌλ‘, μΈμ΄μ μΌλ‘
prototype
μ μμ μ μμ΄ μ±λ₯μ , λ²μμ 리μ€ν¬κ° ν¬λ€.Object.create()
λ₯Ό μ¬μ©νλλ‘ νμ.
μ°Έκ³ μλ£
Last updated