https://mooneedev.netlify.app/JavaScript/%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85/
- λ¨Όμ , ν΄λμ€ μΈμ΄μ λ¬λ¦¬ μλ°μ€ν¬λ¦½νΈμλ ν΄λμ€κ° μμ΅λλ€. λμ , μλ°μ€ν¬λ¦½νΈλ κΈ°μ‘΄ κ°μ²΄μ νλ‘ν νμ μ 볡μ¬νμ¬ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±ν©λλ€.
- λ°λΌμ μλ°μ€ν¬λ¦½νΈμ λͺ¨λ κ°μ²΄λ μμ μ μνμ΄ λλ κ°μ²΄λ₯Ό κ°μ§λ©°, μ΄ μνμ΄ λλ κ°μ²΄λ₯Ό 'νλ‘ν νμ 'μ΄λΌκ³ ν©λλ€.
- μ΄λ ν κ°μ²΄/ν¨μλ₯Ό μμ±νμ λ prototype νλ‘νΌν°λ‘ ν΄λΉ κ°μ²΄μ μνμ΄ λλ νλ‘ν νμ κ°μ²΄λ₯Ό μ°Έμ‘°νκ² λ©λλ€.
- κ·Έλ¦¬κ³ ν΄λΉ νλ‘ν νμ κ°μ²΄μμλ constructor νλ‘νΌν°λ‘ μλ³Έ κ°μ²΄λ₯Ό μ°Έμ‘°νκ² λ©λλ€.
- λ§μ½ new ν€μλλ‘ ν΄λΉ κ°μ²΄/ν¨μμ μΈμ€ν΄μ€λ₯Ό μμ±νλ€λ©΄ ν΄λΉ μΈμ€ν΄μ€μμλ
__proto__νλ‘νΌν°λ‘ μλ³Έ κ°μ²΄μ νλ‘ν νμ κ°μ²΄μ μ κ·Ό κ°λ₯ν©λλ€.
- μλ°μ€ν¬λ¦½νΈλ κΈ°μ‘΄ κ°μ²΄μ νλ‘ν νμ μ 볡μ¬νμ¬ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±ν©λλ€.
- λ°λΌμ, λ§μ½ μ΄λ€ κ°μ²΄μ νΉμ νλ‘νΌν°λ₯Ό μ°Έμ‘°νλλ°, ν΄λΉ κ°μ²΄μ νλ‘νΌν°κ° μ‘΄μ¬νμ§ μμκ²½μ°
__proto__νλ‘νΌν°λ₯Ό μ°Έμ‘°νμ¬ μμ κ°μ²΄μ νλ‘ν νμ μ ν΄λΉ νλ‘νΌν°κ° μ‘΄μ¬νλμ§ μ°Ύμ΅λλ€. λ§μ½μ μ‘΄μ¬νλ€λ©΄ ν΄λΉ νλ‘νΌν°λ₯Ό μ°Έμ‘°νκ² λκ³ μλλ©΄ λ λ€μ__proto__λ₯Ό μ°Έμ‘°νμ¬ λ μμ κ°μ²΄ νλ‘ν νμ μμ ν΄λΉ νλ‘νΌν°λ₯Ό μ°Ύμ΅λλ€. - μ΄λ κ² νΉμ νλ‘νΌν°λ₯Ό μ°Έμ‘°ν λ,
__proto__λ§ν¬λ₯Ό κ³μ μ°Έμ‘°νμ¬ μ°Έμ‘°νλ νλ‘νΌν°λ₯Ό μ°Ύλ κ²μ νλ‘ν νμ 체μ΄λμ΄λΌκ³ ν©λλ€. - μλ₯Ό λ€λ©΄ μΌλ° λ¬Έμμ΄ λ³μλ₯Ό μ μΈν λμλ νλ‘ν νμ 체μ΄λμ μ½κ² κ²½νν μ μμ΅λλ€.
- λ§μ½
const v = 'hello'μ κ°μ λ³μλ₯Ό μ μΈν νv.toUpperCase()λΌλ λ©μλλ₯Ό μ€ννλ μν©μ λ μ¬λ¦¬λ©΄ μ½μ΅λλ€. μ°λ¦¬λvλ³μμtoUpperCaseλΌλ νλ‘νΌν°λ₯Ό μ μν μ μ΄ μλλ° μ μ€νμ΄ λ©λλ€. μ΄λ λ³μ v κ° String κ°μ²΄μ μΈμ€ν΄μ€μ΄λ©°, λ°λΌμ String κ°μ²΄μ νλ‘ν νμ μ μ‘΄μ¬νλtoUpperCaseλΌλ λ©μλλ₯Ό μ°Έμ‘°νκ³ μμμ κ°λ¦¬ν΅λλ€.
- κ°μ²΄μμ μ΄λ€ νλ‘νΌν°λ₯Ό μ°Ύμ λ, ν΄λΉ κ°μ²΄μ μ΄ κ°μ²΄λ₯Ό κΈ°μ μΌλ‘ ν prototype μ°μμ μμ μμ€ λ κ³³μμ λμμ λ°κ²¬λ λ μλμ νμμ΄ μΌμ΄λ©λλ€.
- μ¦, ν΄λΉ κ°μ²΄μ μ§μμΌλ‘ μ°κ²°λμ΄μλ νλ‘νΌν° λλ¬Έμ, μμ μ°μμ νλ‘νΌν°κ° κ°λ €μ§λ νμμ λλ€.