πBeginning Functional JavaScript λ΄μ©μ μ 리ν κΈμ λλ€.
λͺ λ Ήν νλ‘κ·Έλλ°: λ¬Έλ²κ³Ό μΈμ΄μ μ΄μ μ΄ λ§μΆ°μ§ ν¨λ¬λ€μ. μ μ°¨ν(μ½λ μμλλ‘ μ€ν)κ³Ό κ°μ²΄μ§ν₯ν(ClassλΌλ κ°λ ν¬ν¨ - C, C++, JavaΒ λ± μΈμ΄)
ν¨μν νλ‘κ·Έλλ°: ν¨μμ ꡬμ±μ μ΄μ μ΄ λ§μΆ°μ§ ν¨λ¬λ€μ
- μμ ν¨μ: λμΌν μ λ ₯μ νμ λμΌν μΆλ ₯
- κ³ μ°¨ ν¨μ: ν¨μ μ€μ²©μ ν΅ν΄ μ¬λ¬ ν¨μλ₯Ό νλμ λμμΌλ‘ λ¬Άμ ν¨μ
κ° ν¨μμ μ λ ₯μ λ°λΌ λμνλ ν¨μλ₯Ό μμ±νλ νν
- ν¨μλ₯Ό μ¬λ¬ λ² νΈμΆν΄λ λμΌν κ²°κ³Ό λ°ν
- ν¨μ μΈλΆμ λ°μ΄ν° λ³κ²½ λΆκ° - μΊμμ ν μ€νΈ κ°λ₯ν μ½λ
// μμ‘΄μ (percentValue) letpercentValue=5;letcalculateTax=(value)=>{returnvalue/100*(100+percentValue)}// λ 립μ => ν¨μνletcalculateTax=(value,percentValue)=>{returnvalue/100*(100+percentValue)}
- λͺ¨λ ν¨μλ λμΌν μ λ ₯μ λν΄ λμΌν κ°μ λ°ννλ€λ μμ±
constgetAge=(age)=>age;
- λ½ λ©μ»€λμ¦(lock mechanism): ν¨μμ μ°Έμ‘° ν¬λͺ μ±μ λ°λΌ ν¨μλ κ° μΈμμ μ λ ₯μλ§ μμ‘΄νλ€.
ν¨μνμ μ μΈ κ°λ₯νκ³ , μΆμνλ μ½λλ₯Ό μμ±μ κ΄ν μμ±
λͺ λ Ήν(imperative): μ»΄νμΌλ¬μκ² νΉμ μμ μ μ΄λ»κ² ν΄μΌ νλμ§ μλ €μ£Όλ λ°©μ
// λͺ
λ Ήν// 'λ°°μ΄μ κΈΈμ΄λ₯Ό κ°μ Έμ¨ ν λ°°μ΄μ λ°λ³΅νλ©΄μ μΈλ±μ€λ₯Ό μ¬μ©ν΄ λ°°μ΄μ κ° μμλ₯Ό μ»μ΄μ€λΌ'letarray=[1,2,3];for(leti=0;i<array.length;i++){console.log(array[i]);// 1, 2, 3}- μ μΈν(declarative): μ»΄νμΌλ¬μκ² μ΄λ€ κ²μ΄ νμνμ§κ° μ€μν λ°©μ.
- 'μ΄λ»κ²'λ μΌλ°μ μΈ ν¨μ λ΄μ μΆμν (μ¬μ¬μ©)
// μ μΈνletarray=[1,2,3];array.forEach((element)=>console.log(element));// 1, 2, 3