2023/12/11(μ)
리μ‘νΈμ μμ£Ό μ°μ΄λ λ€μν ν¨μ μ΄ν΄λ³΄κΈ°
ν¨μλ₯Ό μ μνκ³ κ·Έ μκ° μ¦μ μ€νλλ ν¨μλ₯Ό μλ―Ένλ€.
λ¨ νλ²λ§ νΈμΆλκ³ , λ€μκΈ νΈμΆν μ μλ ν¨μλ€.
<script>
(function (a,b){
return a+b
})(5,5);// 10
(a,b)=>{
return a + b
},
)(5,5) // 10
</script>
μ¦μ μ€νν¨μλ λ¨ νλ²λ§ νΈμΆ λκΈ° λλ¬Έμ
μΌλ°μ μΌλ‘ μ¦μ μ€ν ν¨μμ μ΄λ¦μ λΆμ΄μ§ μλλ€.
μ¦μ μ€ν ν¨μμ νΉμ±μ νμ©νλ€λ©΄ κΈλ‘λ² μ€μ½νλ₯Ό μ€μΌμν€μ§ μλ λ
립μ μΈ
ν¨μ μ€μ½νλ₯Ό μ΄μ©ν μ μλ€λ μ₯μ μ μ»μ μ μλ€.
<script>
//ν¨μλ₯Ό λ§€κ°λ³μλ‘ λ°λ λνμ μΈ κ³ μ°¨ ν¨μ Array.prototype.map
const doubledArray = [1,2,3].map((item) => item *2)
doubledArray // [2,4,6]
//ν¨μλ₯Ό λ°ννλ κ³ μ°¨ ν¨μμ μ
const add = function (a) {
// aκ° μ‘΄μ¬νλ ν΄λ‘μ λ₯Ό μμ±
return function (b){
// bλ₯Ό μΈμλ‘ λ°μ λ ν©μ λ°ννλ λ λ€λ₯Έ ν¨μλ₯Ό μμ±
return a + b
}
}
add(1)(3) // 4
</script>
μλ°μ€ν¬λ¦½νΈμ ν¨μκ° μΌκΈ κ°μ²΄λΌλ νΉμ§μ νμ©νλ©΄ ν¨μλ₯Ό μΈμλ‘ λ°κ±°λ κ²°κ³Όλ‘ μλ‘μ΄ ν¨μλ₯Ό λ°ν μν¬ μ μλ€. μ΄λ° μν μ νλ ν¨μλ₯Ό κ³ μ°¨ ν¨μ(Higher Order Function)λΌκ³ νλ€.
β‘οΈ λ€μ κΈ μμλ ν¨μλ₯Ό μμ± ν λ μ£Όμν΄μΌ ν λͺκ°μ§ μ¬νλ€μ λν΄ μμ보μ.