1. μ¦μμ€νν¨μ
ν¨μλ μλ μ μΈλΆ (νΉμ ννμ)κ³Ό νΈμΆλΆκ° λ°λ‘ νμνλ€.
μλνλ©΄ μ μΈλΆλ ν¨μμ λ΄μ©μ λν΄ κΈ°μ λ§ νμ¬ λμ κ³³μ΄κ³ , νΈμΆλΆλ ν¨μμ λ΄μ©μ μ°λ κ³³ μ΄κΈ° λλ¬Έμ΄λ€.
μ¦μ μ€νν¨μλ ν¨μμ μ μΈκ³Ό νΈμΆμ νλ²μ νλ ν¨μλ₯Ό λ§νλ€.
λ°μ μ¦μ μ€νν¨μ μ¬μ© ν¨ν΄μ λ°°μ°κ² μ§λ§, λνμ μΈ ν¨ν΄μΌλ‘ μ¦μμ€νν¨μμ λͺ¨μ΅μ μ΄ν΄λ³΄λ©΄,
//(μ€νν ν¨μ)(μΈμ);
// μμ
((a) => {
console.log(a*2);
})(7);
μ΄μ κ°λ€.
()() κ° λΆμ΄ μλ ννλ‘, 첫λ²μ§Έ ()μλ μ€νν ν¨μ, λλ²μ§Έ ()μλ ν¨μμ λ€μ΄κ° μΈμλ₯Ό κΈ°μ νλ©΄ λλ€.
2. ν¨ν΄
// μ¦μ μ€ν ν¨μ ν¨ν΄
// 1. νμ΄ν ν¨μ μ¬μ© ν¨ν΄ -> νμ΄ν ν¨μλ‘ μ¦μ μ€ν ν¨μλ₯Ό μΈ μ μλ ν¨ν΄μ μ΄κ²λ°μ μλ€.
(() => {})();
// 2. ν¨μ μ μΈλ¬Έ μ¬μ© ν¨ν΄
(function () {})();
(function () {} ());
// 3. μμ£Ό μ μ°μ΄λ ν¨ν΄μ΄μ§λ§ μμ λκΈ°
!(function () {})();
+(function () {})();
3. μ€μ€λ‘ ν΄λ³΄κΈ°
console.log(
((a) => {
for (i = 0; i < 10; i++) {
a += i;
}
return a;
})(0)
);
console.log(
((a) => {
return a.reduce((acc, cur) => {
return acc + cur;
}, 0);
})([1, 2, 3, 4, 5, 6, 7, 8, 9])
);
μ λͺ°λλ μ
1. reduce λ μ½λ°±ν¨μλ₯Ό λΆλ¬ κ³μ°νκ³ κ·Έ κ²°κ³Όλ₯Ό λ°ννλ€. reduceμ κ²°κ³Όλ₯Ό μ°κΈ° μν΄μ reduce μ체λ λ°ν ν΄μΌνλ€.
a.reduce μμλ returnμ λΆμ΄μ§ μμμ ν΄λΉ reduce μ°μ°μ κ²°κ³Όλ₯Ό μΆλ ₯νμ§ λͺ»νκ³ κ³μ undefinedκ° λμλ€.
2. for 루ν μμμ returnμ μ¨λ²λ¦¬λ©΄, νλ² λ£¨ν λκ³ κ·Έλλ‘ for 루νλ₯Ό νμΆν΄λ²λ¦°λ€.
breakμ returnμ μ°¨μ΄μ
: break => ν΄λΉ ν€μλκ° μ°μΈ λ°λ³΅λ¬Έμ νμΆνλ€.
return => ν΄λΉ ν€μλκ° μ°μΈ ν¨μ μ체λ₯Ό νμΆνλ€.
κ·Έλμ ν¨μ(λ°λ³΅λ¬Έ) ννλ‘ λμ΄μλ λ°λ³΅λ¬Έ λ΄μ returnμ μ¨λ²λ¦¬λ©΄ λ°λ³΅λ¬Έ λΏλ§ μλλΌ ν¨μ μ체λ νμΆν¨μΌλ‘ μ μ νμ.
<μ°Έκ³ >