Hoisting
μμ μ΄ μν scopeμμ μ΅μλ¨κΉμ§ λμ΄μ¬λ¦°λ€.
μ μλμ§ μμ aλ₯Ό μ°Ύμ λ error
κ° λ¬λ€.
첫λ²μ§Έ console.log(a)
μμ errorκ° μλκ³ undefined
κ° λμ¨λ€. μ΄κ² λ°λ‘ Hoisting 'γ
'/ Hoistingμ ν΅ν΄ μλ°μ€ν¬λ¦½νΈκ° μμμ μλκΉμ§ μ μ½μ΄ λ΄λ €κ°κΈ°λ§ νλ€λκ² μλλΌλκ±Έ μ μ μλ€.
μ΄λ κ² λκ±°λΌκ³ μκ°νλ©΄ μ½λ€. λμ΄μ¬λ €μ 미리 λ³μλ₯Ό μ μνμ§λ§ κ°μ μ μ리μμ λ£μ΄μ§
μ μ²΄κ° λμ΄μ¬λ €μ§λκ² μλλΌ λ³μμ λν μ μΈλΆλΆλ§ λμ΄μ¬λ €μ§λ€.
foo()
ν¨μλ λ¬Έμ μμ΄ μ€νλλ€.
bar()
λ₯Ό μ€ννλ©΄ console.log(b)κ° μ°νλλ° bλ μμ§ μ μ λκΈ° μ ν¨μλ₯Ό νΈμΆνμλ€. νμ§λ§ νΈμ΄μ€ν
μΌλ‘ var b κ° λ¨Όμ μ μΈμ΄ λμ΄ μκΈ° λλ¬Έμ undefined
κ° λ¬λ€.
μ΄λ°μμΌλ‘ μκ°νλ©΄ μ½λ€.
Function Expressin ν¨μ ννμ
λ³μλ‘ μ μνκ³ ν¨μλ₯Ό ν λΉν΄ μ€λ€. d()
λ undefinedκ° λμ¨λ€. μλνλ©΄ var d κΉμ§λ§ hoisting λκΈ° λλ¬Έμ΄λ€.
μ΄μ λΉμ·νλ€κ³ μκ°νλ©΄ μ’λ€.
Function Declaration ν¨μ μ μΈμ
μ μΈμμΌλ‘ μ μ건 ν¨μ μμ²΄κ° hoisting λλ€. νμ¬ μ»¨λ²€μ μ λ§μΆμ΄ μμ νλ©΄ λλ€.
ν¨μ μ μΈμμ μΈλ―Έμ½λ‘ (;)μ μ°μ§ μλλ€.
hoisting λλ건 λ³ΈμΈμ΄ μν scope κΉμ§ λμ΄μ¬λ €μ§λ€.
κ·Έλμ undefined
κ° λ¬λ€.
Quiz
undefined
κ° λ¬λ€. return ꡬ문μ κ°νν΄μλ μλμ..
μΈλ±μ€ in arr μΈλ° μΈλ±μ€λ κ²°κ΅ λ¬ΈμλΌ μ€νμ΄ λλ€.
Last updated
Was this helpful?