1. ν¨μνΈμΆλ°©μμ λ°λ₯Έ this μ κ°
- μΌλ°ν¨μλ‘ νΈμΆ: window
- λ©μλλ‘ νΈμΆ: λ©μλλ₯Ό νΈμΆν κ°μ²΄
- μμ±μ ν¨μλ‘ νΈμΆ : μμ±μ ν¨μκ° μμ±ν μΈμ€ν΄μ€
2. new μ°μ°μμ ν¨κ» ν¨μλ₯Ό νΈμΆνλ©΄ ν΄λΉν¨μλ 000 ν¨μλ‘ λμνλ€. λ€μλ§ν΄. ν¨μ κ°μ²΄ λ΄λΆ λ©μλ xx μ΄ νΈμΆλλ κ²μ΄ μλλΌ xxxμ΄ νΈμΆλλ€. λ¨ new μ ν¨κ» νΈμΆνλ ν¨μλ ββ- μ΄μ΄μΌ νλ€.
new μ°μ°μμ ν¨κ» ν¨μλ₯Ό νΈμΆνλ©΄ ν΄λΉν¨μλ μμ±μ ν¨μλ‘ λμνλ€.
ν¨μ κ°μ²΄ λ΄λΆ λ©μλ callμ΄ νΈμΆλλ κ²μ΄ μλλΌ constructκ° νΈμΆλλ€.
λ¨ newμ ν¨κ» νΈμΆνλ ν¨μλ non-constructorκ° μλ constructorμ΄λ€.
3. λ°λλ‘ new μ°μ°μ μμ΄ μμ±μ ν¨μλ₯Ό νΈμΆνλ©΄ 00 ν¨μλ‘ νΈμΆλλ€. λ€μλ§ν΄ ν¨μ κ°μ²΄μ λ΄λΆ λ©μλ xx κ° νΈμΆλλ κ²μ΄ μλλΌ xx κ° νΈμΆλλ€.
new μ°μ°μ μμ΄ μμ±μ ν¨μλ₯Ό νΈμΆνλ©΄ μΌλ° ν¨μλ‘ νΈμΆλλ€. λ€μλ§ν΄ ν¨μ κ°μ²΄μ constructκ° νΈμΆλλ κ²μ΄ μλλΌ callμ΄ νΈμΆλλ€.
1. μμ±μ ν¨μμ μν κ°μ²΄ μμ± λ°©μμ μ₯μ μ κ°μ²΄ 리ν°λ΄ λ°©μμ λ¨μ μ μ¬μ©νμ¬ μ€λͺ
νμμ€.
κ°μ²΄λ¦¬ν°λ΄μ μμ±μ΄ κ°νΈνμ§λ§, λ¨ νκ°μ κ°μ²΄λ§ μμ±νλ―λ‘ λμΌν νλ‘νΌν°λ₯Ό κ°λ ν¨μλ₯Ό μ¬λ¬κ° μμ±ν΄μΌν κ²½μ° λ²κ±°λ‘λ€. μμ±μλ new μ°μ°μμ ν¨κ» νΈμΆν΄ ν
νλ¦Ώ μ²λΌ κ°μ²΄λ₯Ό κ°νΈνκ² λ¬΄νν μ°μ΄λΈλ€.
2. μλ° μ€ν¬λ¦½νΈ μμ§μ΄ constructμ non-constructλ₯Ό μ΄λ»κ² ꡬλΆνλμ§ μμλ₯Ό λ€μ΄ μ€λͺ
νμμ€.
ν¨μμ μ μλ₯Ό νκ°νμ¬ κ΅¬λΆ.
con? ν¨μ μ μΈλ¬Έ, ννμ, ν΄λμ€
non-constructor: λ©μλ(λ©μλμ μΆμ½ννλ§ μΈμ λ¨..) , νμ΄ν ν¨μ.
3. μμ±μ ν¨μμ μΈμ€ν΄μ€ μμ± κ³Όμ μ μ€λͺ
νμμ€.
μμ±μ ν¨μμ μν μ ν
νλ¦ΏμΌλ‘ λμνμ¬ μΈμ€ν΄μ€λ₯Ό μμ±νλ κ²κ³Ό, μμ±λ μΈμ€ν΄μ€λ₯Ό μ΄κΈ°ν(μΈμ€ν΄μ€ νλ‘νΌν° μΆκ° λ° μ΄κΈ°κ°ν λΉ..)νλ κ²μ΄λ€. μμ±μ νμ, μ΄κΈ°νλ μ΅μ
..
- μΈμ€ν΄μ€ μμ±κ³Ό this λ°μΈλ©
: μμ±μ ν¨μ λ΄λΆμ thisλ μμ±μ ν¨μκ° μμ±ν μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν¨λ€.
- μΈμ€ν΄μ€ μ΄κΈ°ν : μμ±μ ν¨μμ κΈ°μ λ μ½λκ° νμ€μ© μ€νλμ΄ this μ λ°μΈλ© λμ΄μλ μΈμ€ν΄μ€λ₯Ό μ΄κΈ°ννλ€. νλ‘νΌν°λ λ©μλλ₯Ό μΈμ€ν΄μ€μ μΆκ°, μ΄κΈ°κ°μ μ λ¬λ°μ μΈμ€ν΄μ€ νλ‘νΌν°μ ν λΉνμ¬ μ΄κΈ°ννκ±°λ κ³ μ κ°μ ν λΉ.
- μΈμ€ν΄μ€μ λ°ν: μμ±μ ν¨μ λ΄λΆμ λͺ¨λ μ²λ¦¬κ° λλλ©΄ μΈμ€ν΄μ€κ° λ°μΈλ© λ this κ° μ묡μ μΌλ‘ λ°νλλ€.
ν΄λμ€μ functionμ μ°¨μ΄λ λμ§? 리μ‘νΈλ μλμλ¦¬κ° λ€λ₯Έκ±ΈκΉ? this λ₯Ό ν¨μμμλ μ¬μ©νλ μ΄μ λ..?