function
ν¨μ μ μΈμ
ν¨μ ννμ
jsλ ν¨μλ₯Ό νΉλ³ν λμμ νλ ꡬ쑰
κ° μλ νΉλ³ν μ’
λ₯μ κ°
μΌλ‘ μ·¨κΈ
λ°λΌμ, ν¨μλ₯Ό 볡μ¬ν΄ λ€λ₯Έ λ³μμ ν λΉν μλ μλ€.
μλμ½λλ₯Ό 보면 ν¨μμ μ΄λ¦μμ΄ λ³μμ ν λΉνλ κ²μ λ³Ό μ μλ€.
μ½λ°± ν¨μ
ν¨μλ₯Ό ν¨μμ μΈμλ‘ μ λ¬νκ³ , νμν λ μΈμλ‘ μ λ¬ν κ·Έ ν¨μλ₯Ό λμ€μ νΈμΆνλ κ²
μλμ μ½λλ₯Ό 보면 yesμ μΈμλ‘ alert('λμ')κ°, noμ μΈμλ‘ alert('μ·¨μ')κ° ν λΉλλ κ²μ λ³Όμ μλ€.
ν¨μ ννμκ³Ό ν¨μ μ μΈλ¬Έ μ°¨μ΄
1. jsμμ§μ΄ ν¨μλ₯Ό μμ±νλ μκΈ°
ν¨μ ννμμ μ€μ μ€ν νλ¦μ΄ λλ¬νμλ μμ±νκ³ , ν¨μ μ μΈλ¬Έμ μ μλκΈ°μ μλ νΈμΆν μ μλ€. -> ν¨μ μ μΈμ μ μν¨μλ‘ μ μΈμ΄ λλ©°, jsλ μ€ν¬λ¦½νΈ μ€νμ λͺ¨λ μ μΈλ¬Έμ μ°Ύκ³ μμ±νμ μ€νλκΈ° λλ¬Έμ΄λ€.
κ·Έλμ, μλμ κ°μ΄ μ μΈλ¬Έ μ μ νΈμΆμ ν΄λ μ€νμ νλ©΄ λμμ΄ κ°λ₯νλ€.
νμ§λ§ ν¨μ ννμμ λΆκ°λ₯νλ€.
μ€μ½ν
ν¨μ μ μΈλ¬Έμ ν¨μκ° μ μΈλ μ½λ λΈλ μμμλ§ μ ν¨νλ€.
λ§μ½ λ°λ³΅λ¬Έμ΄λ ifμκ°μ΄ {}
μμ ν¨μλ₯Ό μ μΈνκ³ λ°μμ νΈμΆν μ μ€λ₯κ° λ°μνλ€.
μμ κ°μ΄ μ¬μ©νκ³ μΆλ€λ©΄ ν¨μ ννμμ μ¬μ©.
νμ΄ν ν¨μ
ν¨μ ννμλ³΄λ€ λ¨μνκ³ κ°κ²°ν λ¬Έλ²μΌλ‘ ν¨μλ₯Ό μμ±.
컨νμ€νΈκ° μλ κΈ΄μ½λλ³΄λ€ μ체 컨ν
μ€νΈ
κ° μλ μ§§μ μ½λλ₯Ό λ΄μ μ©λ
μΈμκ° νλλ°μ μλ€λ©΄ κ΄νΈλ₯Ό μλ΅ κ°λ₯νκ³ , μΈμκ° μμλ κ΄νΈ μλ΅ λΆκ°λ₯νλ€.
ν¨μ λ΄μ©μ΄ μ¬λ¬μ€μΌλλ μ€κ΄νΈλ₯Ό μ΄μ©νμ¬ λ¬Άμ΄μ€λ€.
νΉμ§
thisκ° μκΈ°λλ¬Έμ μ¬μ©μ΄ λΆκ°λ₯νλ€. thisλ₯Ό νΈμΆνλ©΄ μΈλΆμμ κ°μ κ°μ Έμ¨λ€. thisκ° μκΈ° λλ¬Έμ newμ ν¨κ» μ¬μ©μ΄ λΆκ°λ₯ν΄ μμ±μ ν¨μλ‘ μ¬μ©ν μ μλ€.
thisκ° μκΈ°λλ¬Έμ
arr.forEach()
λsetTimeout()
κ³Ό κ°μ ν¨μλ΄μμ νμ¬ μ»¨ν μ€νΈλ₯Ό μμ§ μκ³ μμ μ΄ κ°λ₯νλ€. (forEachλ λ°°μ΄ arrμ μμ λμμΌλ‘ μ€νμ΄ κ°λ₯νκ³ setTimeoutμ λ΄μ₯ μ€μΌμ€λ¬λ₯Ό λμμΌλ‘ μ€ν)μ μ¬ λ°°μ΄ κ°μ²΄μΈ argumentsκ° μλ€.
λλ¬Έμ thisκ°κ³Ό argumentsκ°μ ν¨κ» μ€μ΄ νΈμΆμ ν¬μλ©ν΄μ£Όλ λ°μ½λ μ΄ν°λ₯Ό λ§λ€λ μ μ©νλ€.
μμ κ°μ μ½λλ₯Ό μ΄μ©νλ €λ©΄ μλμ κ°μ΄ argsμ ctxλ₯Ό λ°λμ μμ±ν΄μ€μΌνλ€.
λ§€κ°λ³μ
μ€μ ν¨μμ λ§€κ°λ³μ μΈμλ 2κ°λ‘ μ μΈμ νμ΄λ, νΈμΆ μ λ§€κ°λ³μλ₯Ό μ¬λ¬κ° λ£μ΄μ£Όμ΄λ μλ¬κ° λμ§ μλλ€.
arguments
λΌλ νΉμν μ μ¬ λ°°μ΄ κ°μ²΄
κ° μ‘΄μ¬ν΄ μ΄λ₯Ό μ΄μ©ν΄ λͺ¨λ μΈμλ₯Ό μ κ·Όκ°λ₯νλ νμ΄ν ν¨μμλ arguments
κ° μλ€.
spread λ¬Έλ² :
ν¨μμ λ°°μ΄μ μμλ₯Ό λ§€κ°λ³μλ‘ μ¬λ¬κ°λ₯Ό μ λ ₯ν λ, μΌμΌν μλμ λ ₯μ΄ μλ μλμΌλ‘ μ λ ₯ν μ μκ² ν΄μ£Όλ λ¬Έλ²
λ§κ·Έλλ‘ arrayλ₯Ό μ κ°μμΌμ£Όλ λ¬Έλ²μΌλ‘ λ°°μ΄μμ
...
μ λΆμ¬μ£Όλ©΄λλ€.λ°°μ΄λΏλ§μ΄ μλλΌ
μ΄ν°λ¬λΈ κ°μ²΄
λΌλ©΄ λͺ¨λ μ¬μ©κ°λ₯νλ€.μ΄λ λ¬Έλ² λ΄λΆμμ iteratorλ₯Ό μ¬μ©ν΄ μμλ₯Ό μμ§ν΄ κ°κ°μ κ°μ λ°ννμ¬
[]
λ‘ κ°μΈ λ¬Έμ λͺ©λ‘λ€μ λ°°μ΄λ‘ λ§λ€μ΄μ£ΌκΈ° λλ¬Έμ λ€μκ³Ό κ°μ μΆλ ₯κ²°κ³Όλ₯Ό 보μΈλ€.λ°λΌμ
[...obj]
μ μ΄μ©ν΄ λ°°μ΄μ λ§λ€ μ μμ§λ§Array.from(obj)
μ λΉκ΅ν΄μ[...obj]
λ μ μ¬ λ°°μ΄ κ°μ²΄μλ μ¬μ©ν μ μλ€λ λ¨μ μ΄ μμ΄ λ¬΄μΈκ°λ₯Ό λ°°μ΄λ‘ λ§λ€λλArray.from()
μ μ΄μ©νλ€.
Last updated