πΈ18μ₯. ν¨μμ μΌκΈ κ°μ²΄
β
18.1 μΌκΈ κ°μ²΄
λ€μ 쑰건μ λ§μ‘±νλ κ°μ²΄λ₯Ό **μΌκΈ κ°μ²΄
**λΌκ³ νλ€.
무λͺ μ 리ν°λ΄λ‘ μμ±ν μ μλ€. β λ°νμμ μμ±μ΄ κ°λ₯νλ€.
λ³μλ μλ£κ΅¬μ‘°(κ°μ²΄, λ°°μ΄ λ±)μ μ μ₯ν μ μλ€.
ν¨μμ λ§€κ°λ³μμ μ λ¬ν μ μλ€.
ν¨μμ λ°νκ°μΌλ‘ μ¬μ©ν μ μλ€.
μλ°μ€ν¬λ¦½νΈμ ν¨μλ μΌκΈ κ°μ²΄λ€.
μΌκΈ κ°μ²΄λ‘μ ν¨μκ° κ°μ§λ κ°μ₯ ν° νΉμ§μ
μΌλ° κ°μ²΄μ κ°μ΄ ν¨μλ₯Ό ν¨μμ λ§€κ°λ³μμ μ λ¬ν μ μκ³
ν¨μμ λ°νκ°μΌλ‘ ν¨μλ₯Ό μ¬μ©ν μ μλ€.
μ΄λ μλ°μ€ν¬λ¦½νΈμ ν¨μν νλ‘κ·Έλλ°μ κ°λ₯νκ² νλ€.
μΌλ° κ°μ²΄μλ λ€λ₯΄κ²
μΌλ° κ°μ²΄λ νΈμΆν μ μμ§λ§, ν¨μ κ°μ²΄λ νΈμΆν μ μλ€.
ν¨μ κ°μ²΄λ μΌλ° κ°μ²΄μλ μλ ν¨μ κ³ μ μ νλ‘νΌν°λ₯Ό μμ νλ€.
β
18.2 ν¨μ κ°μ²΄μ νλ‘νΌν°
ν¨μμ λͺ¨λ νλ‘νΌν°
arguments
,caller
,length
,name
,prototype
νλ‘νΌν° : ν¨μ κ°μ²΄μ λ°μ΄ν° νλ‘νΌν°(ν¨μ κ°μ²΄ κ³ μ μ νλ‘νΌν°)__proto__
:μ κ·Όμ νλ‘νΌν°. Object.prototype κ°μ²΄μ νλ‘νΌν°λ₯Ό μμλ°μ κ²(λͺ¨λ κ°μ²΄ μ¬μ© κ°λ₯)
κ° νλ‘νΌν°μ λν΄ κ°λ¨νκ²λ§ μ΄ν΄λ³΄μλ©΄,
arguments νλ‘νΌν°
κ° : arguments κ°μ²΄(μ λ¬λ μΈμλ€μ μ 보λ₯Ό λ΄κ³ μλ μν κ°λ₯ν(iterable)μ μ¬ λ°°μ΄ κ°μ²΄)
ν¨μ λ΄λΆμμ μ§μλ³μμ²λΌ μ¬μ©νκΈ° λλ¬Έμ μΈλΆμμ μ°Έμ‘°ν μ μλ€.
λ§€κ°λ³μ κ°μλ₯Ό νμ ν μ μλ κ°λ³ μΈμ ν¨μ λ₯Ό ꡬνν λ μ μ©
arguments κ°μ²΄λ μ μ¬λ°°μ΄κ°μ²΄μ΄μ§ λ°°μ΄ κ·Έμ체λ μλκΈ° λλ¬Έμ, λ°°μ΄ λ©μλλ₯Ό μ¬μ©ν κ²½μ° μλ¬κ° λ°μνλ€. β ES6λΆν°
Rest νλΌλ―Έν°
λμ
caller νλ‘νΌν°
λΉνμ€ νλ‘νΌν°. ν¨μ μμ μ νΈμΆν ν¨μλ₯Ό κ°λ¦¬ν΄
length νλ‘νΌν°
ν¨μλ₯Ό μ μν λ μ μΈν λ§€κ°λ³μμ κ°μ
name νλ‘νΌν°
ν¨μμ μ΄λ¦
μ΅λͺ ν¨μμ κ²½μ°,
ES5 β λΉ λ¬Έμμ΄(
''
)ES6 β ν¨μ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ μλ³μ
__proto__
μ κ·Όμ νλ‘νΌν°
νλ‘ν νμ κ°μ²΄μ μ κ·ΌνκΈ° μν΄ μ¬μ©νλ μ κ·Όμ νλ‘νΌν°λ‘,
μ΄ νλ‘νΌν°μ μ§μ μ κ·Όν μλ μκ³ κ°μ μ μΈ λ°©λ²μΌλ‘ μ κ·Ό κ°λ₯
prototype νλ‘νΌν°
μμ±μ ν¨μλ‘ νΈμΆν μ μλ ν¨μ κ°μ²΄. ( constructorλ§μ΄ μμ νλ νλ‘νΌν°)
Last updated