2023/12/09(ν )
ν¨μλ₯Ό μ μνλ λ°©λ²
μ€λμ ν¨μλ₯Ό μ μνλ 3κ°μ§ λ°©λ²μ λν΄ νμ΅νμλ€.
<script>
function add(a,b){
return a + b
}
</script>
ν¨μ μ μΈλ¬Έμ ννμμ΄ μλ μΌλ° λ¬Έ(statement)μΌλ‘ λΆλ₯λλ€.
ννμμ΄λ 무μΈκ° κ°μ μ°μΆνλ ꡬ문μ μλ―Ένλ€.
μ¦,μμ ν¨μ μ μΈμΌλ‘λ μ΄λ ν κ°λ ννλμ§ μμμΌλ―λ‘
ννμμ΄ μλ λ¬ΈμΌλ‘ λΆλ₯λλ€.
ν¨μ μ μΈλ¬Έμ λ§ κ·Έλλ‘ μ μΈ
μ΄κ³ μ΄λ ν κ°λ νννμ§ μμΌλ―λ‘ ννμκ³Όλ
λ€λ₯΄κ² λ³μμ ν λΉν μ μλ κ²μ΄ μμ°μ€λ¬μ 보μΈλ€.
<script>
const sum = function sum(a,b){
return a + b
}
sum(5,5)// 10
</script>
κ·Έλ¬λ μ μμ λ λ§μΉ sumμ΄λΌλ λ³μμ ν¨μ sumμ ν λΉνλ,ννμκ³Ό κ°μ μλμ 보μλ€.
μ μ΄λ¬ν μ½λλ₯Ό μμ±νλ κ²μΌκΉ?
μ΄μ λ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μ½λμ λ¬Έλ§₯μ λ°λΌ λμΌν ν¨μλ₯Ό λ¬Έμ΄ μλ ννμμΌλ‘
ν΄μνλ κ²½μ°κ° μκΈ° λλ¬Έμ΄λ€.
μμ κ°μ΄ μ΄λ¦μ κ°μ§ ννμ ν¨μ 리ν°λ΄μ μ½λ λ¬Έλ§₯μ λ°λΌ μ μμ κ°μ μ μΈλ¬Έ μ¦,ννμμΌλ‘λ μ¬μ©λ μ μμμ μκ³ μμ΄μΌ νλ€.
ν¨μ ννμμ λν΄ μμ보기 μ μ μΌκΈ κ°μ²΄
λΌλ κ°λ
μ μκ³ μμ΄μΌ νλ€.
νλ‘κ·Έλλ° μΈκ³μμ μΌκΈ κ°μ²΄
λ λ€λ₯Έ κ°μ²΄λ€μ μΌλ°μ μΌλ‘ μ μ© κ°λ₯ν μ°μ°
μ λͺ¨λ
μ§μνλ κ°μ²΄λ₯Ό μλ―Ένλ€. μλ°μ€ν¬λ¦½νΈμμ ν¨μλ μΌκΈ κ°μ²΄
λ€.
μμ ν¨μκ° μΌκΈ κ°μ²΄
λΌκ³ νμΌλ, ν¨μλ₯Ό λ³μμ ν λΉνλ κ²μ λΉμ°ν κ°λ₯νλ€.
ν¨μ ννμμμλ ν λΉνλ €λ ν¨μμ μ΄λ¦μ μλ΅νλ κ²μ΄ μΌλ°μ μ΄λ€.
μ΄μ λ μ½λλ₯Ό λ΄€μ λ νΌλμ λ°©μ§νκΈ° μν¨μ΄λ€.
ν¨μ ννμμμ ν¨μμ μ΄λ¦μ μ£Όλ κ²μ ν¨μ νΈμΆμ λμμ΄ μ ν μλλ,
μ½λλ₯Ό μ½λ λ° λ°©ν΄κ° λ μ μλ μμμμΌλ‘ ν λΉνλ €λ ν¨μμ μ΄λ¦μ μλ΅νλκ² μ’λ€.
ES6μμ μλ‘κ² μΆκ°λ ν¨μ μμ± λ°©μμ΄λ€.
function λμ => λΌλ νμ΄νλ₯Ό νμ©ν΄μ ν¨μλ₯Ό μμ±νλ€.
κ·Έλ¬λ νμ΄ν ν¨μλ κ²λ³΄κΈ°μ λ€λ₯΄κ² μμ μΈκΈν ν¨μ μμ± λ°©μκ³Ό λͺ κ°μ§ ν° μ°¨μ΄μ μ΄ μλ€.
π νμ΄ν ν¨μμμλ constructor μ¬μ© λΆκ°λ₯
π νμ΄ν ν¨μμμλ argumentsκ° μ‘΄μ¬νμ§ μλλ€.
πν΄λμ€ν μ»΄ν¬λνΈμμ μ΄λ²€νΈμ λ°μΈλ©ν λ©μλ μ μΈ μ νμ΄ν ν¨μλ‘ νμ λμ μΌλ° ν¨μλ‘ νμ λ μλ‘ λ€λ₯΄κ² μλνλ€.
this | μμ μ΄ μν κ°μ²΄λ μμ μ΄ μμ±ν μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν€λ κ°
μΌλ°ν¨μ : λ΄λΆμ μ μ κ°μ²΄λ₯Ό κ°λ¦¬ν¨λ€
νμ΄ν ν¨μ : μμ μ€μ½μ thisλ₯Ό κ·Έλλ‘ λ°λ₯΄κ² λλ€
β‘οΈ λ€μμ 리μ‘νΈμμ μμ£Ό μ°μ΄λ ν¨μλ₯Ό μ΄ν΄λ³΄μ.