π΄ μ΅λͺ ν¨μ ννμ
μΌλ°ν¨μμ μλ¬Έμ κ²½μ° ν¨μλͺ μ μ μΈνκ³ κ·Έ μ΄λ¦μ μ¬μ©νμ¬ νΈμΆνμ΅λλ€.
μ΄ λ°©λ²μ ν¨μ μ΄λ¦μ μκ³ μμΌλ©΄ μ΄λμμλ νΈμΆνμ¬ μ¬μ©ν μ μμ΄ λ§μ΄ μ¬μ©ν©λλ€.
μ΄ λ°μλ λ°λ‘ ν¨μ μ΄λ¦μ μ§μ νμ§ μκ³ μ¬μ©νκ±°λ,
ν¨μλ₯Ό νΈμΆνμ§ μκ³ λ°λ‘ μ€ννλ λ°©λ²λ μμ΅λλ€.
μ΅λͺ ν¨μλ μ΄λ¦μ΄ μλ ν¨μλ₯Ό λ§ν©λλ€.
μ¦, μ΅λͺ ν¨μλ₯Ό μ μΈν λμλ μ΄λ¦μ λΆμ΄μ§ μμ΅λλ€.
κ·Έλμ μ΄ ν¨μλ₯Ό λ³μμ λ£μ΄λμλ€κ° λ³μλͺ μ μ΄μ©νμ¬ νΈμΆν©λλ€.
μ΅λͺ ν¨μλ νΈμ΄μ€ν κΈ°μ μ μ§μνμ§ μμ΅λλ€.
λ°λμ ν¨μλ₯Ό λ¨Όμ λ§λ νμ νΈμΆν΄μΌ ν©λλ€.
[κΈ°λ³Έν] let λ³μλͺ = function() {μλ°μ€ν¬λ¦½νΈ μ½λ;} λ³μλͺ (); -> μ΅λͺ ν¨μ νΈμΆλ¬Έ
π΄ ν¨μμμ returnλ¬Έμ μν
returnλ¬Έμ ν¨μμμ κ²°κ΄κ°μ λ°ννλ μν μ ν©λλ€.
κ·Έλ¦¬κ³ ν¨μμμ returnλ¬Έμ΄ λ±μ₯νλ©΄ λ°λ³΅λ¬Έμ breakλ¬Έκ³Ό λΉμ·νκ² μ½λκ° κ°μ μ’ λ£λ©λλ€.
μ¦, ν¨μμ κ²°κ΄κ°μ λ°ννλ©΄μ κ°μ μ’ λ£ μν€λ λ¬Έμ₯μ λλ€.
[κΈ°λ³Έν] 1. μΌλ° ν¨μ μ μλ¬Έ -------------------------------------- function ν¨μλͺ (){ μλ°μ€ν¬λ¦½νΈ μ½λ 1; return λ°μ΄ν°(κ°); > λ°μ΄ν° κ°μ λ°ν ν μ’ λ£ μλ°μ€ν¬λ¦½νΈ μ½λ 2; > μ€ννμ§ μκ³ λ¬΄μλλ€. } 2. μ΅λͺ ν¨μ(ν¨μννμ) -------------------------------------- let λ³μ = function(){ μλ°μ€ν¬λ¦½νΈ μ½λ 1; return λ°μ΄ν°(κ°); > λ°μ΄ν° κ°μ λ°ν ν μ’ λ£ μλ°μ€ν¬λ¦½νΈ μ½λ 2; > μ€ννμ§ μκ³ λ¬΄μλλ€. }
π΄ μ€μ λ‘ νλ² μ¬μ©ν΄λ³ΌκΉμ?
//μ΅λͺ ν¨μ νΈμΆλ¬Έ μ¬μ©ν΄λ³΄κΈ° let sum = function (a, b) { return a + b; }; document.write(`ν¨μ μ€νκ²°κ³Ό : ${sum(10, 20)} <br/>`); //μ΅λͺ ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μμ κ΅μ΄, μν μ μλ₯Ό λ°μ νλ©΄μ μΆλ ₯ν΄λ³΄κ² μ΅λλ€. let testAvg = function (arrData) { //κ΅μ΄ μ μμ μν μ μμ νκ· μ μλ₯Ό ꡬν©λλ€. let sum = 0; //arrDataμ λ€μ΄μλ λ°μ΄ν° κ°―μλ§νΌ λ°λ³΅νλ€. for (let i = 0; i < arrData.length; i++) { //1. prompt(arrData[i] + "μ μλ₯Ό μ λ ₯ν΄μ£ΌμΈμ", "0μ ") μ€ν //2. promptλ‘ λ°μμ¨ λ¬Έμν μ«μλ₯Ό Number()λ‘ ν λ³ν //3. ν λ³ν λ μ«μλ₯Ό sumκ³Ό λν¨ sum += Number(prompt(arrData[i] + "μ μλ₯Ό μ λ ₯ν΄μ£ΌμΈμ", "0μ ")); } //avg = ν©μ°μ μ λλκΈ° λ°°μ΄μ λ°μ΄ν° κ°―μ(κ³Όλͺ© μ) let avg = sum / arrData.length; return avg; }; let arrSubject = ["κ΅μ΄", "μν"]; let result = testAvg(arrSubject); document.write(`νκ· μ μλ : ${result}μ μ λλ€.`);
π‘ νμ΄ν ν¨μ
ES6λ²μ λΆν°λ μ΅λͺ ν¨μλ₯Ό νκΈ°ν λ μ’ λ μ½κ³
μ§κ΄μ μΌλ‘ λ§λ€ μ μλ 'νμ΄ν ν¨μ'κ° μκ²Όμ΅λλ€.
[κΈ°λ³Έν] let λ³μ = (λ§€κ°λ³μ) => {μ½λ}; - 1. let λ³μ = () => {μ½λ}; : λ§€κ°λ³μκ° μμ κ²½μ° λ§€κ°λ³μ μ리μ ()λ₯Ό μμ±ν©λλ€. - 2. let λ³μ = λ§€κ°λ³μ => {μ½λ}; : λ§€κ°λ³μκ° 1κ°μΈ κ²½μ° ()λ₯Ό μλ΅ν μ μμ΅λλ€. - 3. let λ³μ = λ§€κ°λ³μ => μ½λ; : λ§€κ°λ³μκ° 1κ°μ΄λ©΄μ μ€νμν¬ μ½λκ° 1μ€μΈ κ²½μ° λ§€κ°λ³μμ ()λ μλ΅ν μ μκ³ , μ½λ μ리μ {}λ μλ΅ν μ μμ΅λλ€. μ΄λ, returnλ μλ΅λ κ²μΌλ‘ κ°μ£Όν©λλ€. - 4. let λ³μ = (λ§€κ°λ³μ1, λ§€κ°λ³μ2) => {μ½λ}; : λ§€κ°λ³μκ° 2κ° μ΄μμΌ κ²½μ° ()λ₯Ό κΌ μμ±νκ³ μ½€λ§(,)λ‘ κ΅¬λΆν©λλ€. - 5. let λ³μ = λ§€κ°λ³μ => {μ½λ1, μ½λ2} : μμ±ν μ½λκ° 2μ€ μ΄μμΈ κ²½μ° {}λ₯Ό μ¨μΌνκ³ λ§μ½ κ°μ λ°νν΄μΌ ν κ²½μ° returnλ μμ±ν©λλ€.
π’ λ§€κ°λ³μμ κΈ°λ³Έκ° μ§μ νκΈ°
ES6λ²μ λΆν°λ ν¨μμ λ§€κ°λ³μλ₯Ό μ μΈν λ κΈ°λ³Έκ°μ μ§μ νλ κΈ°λ₯μ΄ μκ²Όμ΅λλ€.
ν¨μλ λ§€κ°λ³μμ κ°―μμ μΈμμ κ°―μκ° λμΌν΄μΌν©λλ€.
λ§μ½ λ§€κ°λ³μμ κ°―μμ μΈμμ κ°―μκ° λ€λ₯΄λ©΄ ν¨μλ μ μμ μΌλ‘ μ€νλμ§ μμ΅λλ€.
νμ§λ§ κ²½μ°μ λ°λΌ ν¨μμ μΈμλ₯Ό 3κ°κΉμ§ λ³΄λΌ μ μλ ν¨μμμ μΈμλ₯Ό 1κ°λ§ 보λ΄κ±°λ 2κ°λ§ λ³΄λΌ κ²½μ°,
λ§€κ°λ³μμ κΈ°λ³Έκ°μ μ§μ ν΄μ£Όλ©΄ ν¨μλ₯Ό μμ νκ² μ€νμν¬ μ μμ΅λλ€.
[κΈ°λ³Έν] function ν¨μλͺ (λ§€κ°λ³μ1 = κ°1, λ§€κ°λ³μ2 = κ°2,λ§€κ°λ³μ3 = κ°3){ μλ°μ€ν¬λ¦½νΈ μ½λ; } ν¨μλͺ (μΈμ1); ν¨μλͺ (μΈμ1, μΈμ2); ν¨μλͺ (μΈμ1, μΈμ2, μΈμ3);
π΅ ν¨μμ μ€μ½ν
ν¨μ μ€μ½νλ ν¨μκ° μ μΈλ μμΉμ λ°λΌ λ¬λΌμ§λ 'μ ν¨λ²μ'λ₯Ό μλ―Έν©λλ€.
ν¨μμμλ λ λ€λ₯Έ ν¨μλ₯Ό λ£μ μ μμ΅λλ€.
μ΄λ μμ μλ ν¨μλ₯Ό 'μ§μν¨μ',
μ§μν¨μλ₯Ό κ°μΈκ³ μλ μ€ν¬λ¦½νΈ μμμ μ μΈλ ν¨μλ₯Ό 'μ μν¨μ'λΌκ³ ν©λλ€.
νλ‘μ νΈμ κ·λͺ¨κ° ν¬λ©΄ μ¬λ¬ λͺ μ κ°λ°μκ° ν¬μ λλλ°,
λ§μ½ κ°μ μ΄λ¦μ μ μ λ³μλ μ μ ν¨μλ₯Ό μ¬μ©νλ©΄ μΆ©λμ΄ λ°μν©λλ€.
λν λ€λ₯Έ κ°λ°μκ° μ΄λ―Έ κ°λ°ν΄λμ λΌμ΄λΈλ¬λ¦¬λ νλ¬κ·ΈμΈμ λ³μ λλ ν¨μμ μ΄λ¦κ³Ό
μμ μ΄ μ¬μ©νλ λ³μλ ν¨μμ μ΄λ¦μ΄ κ°μ κ²½μ°μλ μΆ©λμ΄ λ°μν μ μμ΅λλ€.
μ΄λ΄ λ μ§μν¨μλ₯Ό μ΄μ©νλ©΄ μμ μ μ½λλ₯Ό μμ νκ² μ§ν¬ μ μμ΅λλ€.
[κΈ°λ³Έν] <script> function ν¨μλͺ 1() { > μ μν¨μ function ν¨μλͺ 2() { μ½λ } > μ§μν¨μ, ν¨μλͺ 2μ μ ν¨λ²μλ ν¨μλͺ 1μ μμͺ½μ΄λ€. ν¨μλͺ 2(); > μ ν¨λ²μ μ, νΈμΆμ΄ κ°λ₯ } ν¨μλͺ 1(); > μ μν¨μ νΈμΆ ν¨μλͺ 2(); > μ ν¨λ²μλ₯Ό λ²μ΄λ¨, νΈμΆμ΄ λΆκ°λ₯ </script>
π£ μ¦μ μ€ν ν¨μ
μΌλ°μ μΌλ‘ ν¨μλ μ μΈνκ³ νμν λλ§λ€ νΈμΆν΄μ μ€ννλ λ°©λ²μ λ§μ΄ μ¬μ©ν©λλ€.
νμ§λ§ ν λ²λ§ μ€ννλ ν¨μλΌλ©΄ ν¨μλ₯Ό μ μνλ©΄μ λμμ μ€νν μ μμ΅λλ€.
μ΄κ² λ°λ‘ μ¦μ μ€ν ν¨μ μ λλ€.
μ¦μ μ€ν ν¨μλ₯Ό μ¬μ©νλ©΄ λΈλΌμ°μ κ° λ‘λ©λλ μκ° λ°λ‘ μ€νν©λλ€.
κΈ°λ³Ένμμ function(){}() λ§μ§λ§μ λΆμ΄μλ ()μ ν¨μμ νΈμΆλ¬Έ μ λλ€.
μ¦μ μ€ν ν¨μλ μ΅λͺ ν¨μμ ννλ₯Ό κ°μ§κ³ μμ΅λλ€.
μ¦, ν¨μ ννμμ λλ€.
κ·Έλ κΈ° λλ¬Έμ ()λ€μ μΈλ―Έμ½λ‘ μ λΆμ¬μ£Όμ΄μΌ ν©λλ€.
[κΈ°λ³Έν] (function(λ§€κ°λ³μ){ μλ°μ€ν¬λ¦½νΈ μ½λ; }(νΈμΆλ¬Έ)); λλ (function(λ§€κ°λ³μ){ μλ°μ€ν¬λ¦½νΈ μ½λ; })(νΈμΆλ¬Έ);
π€ μ¬κ· ν¨μ νΈμΆ
ν¨μ μ μλ¬Έ λ΄μμ μμ±ν μ½λλ‘ ν¨μλ₯Ό λ€μ νΈμΆνλ κ²μ 'μ¬κ· ν¨μ νΈμΆ'μ΄λΌκ³ ν©λλ€.
μ¬κ· ν¨μ νΈμΆμ μ¬μ©νλ©΄ λ°λ³΅λ¬Έμ²λΌ μ¬λ¬ λ² ν¨μλ₯Ό νΈμΆν μ μμ΅λλ€.
[κΈ°λ³Έν] function ν¨μλͺ () { μλ°μ€ν¬λ¦½νΈ μ½λ; ν¨μλͺ (); > μ¬κ· ν¨μ νΈμΆ, μμͺ½μ μ½λλ₯Ό μ€νν ν λ ν¨μλ₯Ό νΈμΆν©λλ€. } ν¨μλͺ (); > λ°κΉ₯μμ ν λ² νΈμΆν©λλ€.
π¨οΈ μμΌλ‘ μ§μ 곡λΆν λ΄μ©μ λ°νμΌλ‘ μμ±ν κΈμ΄λλλ€ !
βοΈ
μμΌλ‘λ μ΄μ¬ν 곡λΆν΄μ λ§μ λ΄μ©μ 곡μ νκ² μ΅λλ€ :)