μ½λ°± ν¨μλ **βμ΄λ€ μΌμ΄ λλ ν λ€μ λΆλ¬μ μ€νν ν¨μβ**μ λλ€.
μ½κ² λ§ν΄, **"ν¨μλ₯Ό μΈμλ‘ μ λ¬ν΄μ, λμ€μ νΈμΆλκ² νλ ν¨μ"**μ λλ€.
π― μλ°μ€ν¬λ¦½νΈμ λ€νμ±(λμΌν μ΄λ¦μ ν¨μκ° λ€μν λ°©μμΌλ‘ λμνλ κ²)μ ꡬννλ λνμ μΈ λ°©λ²μ λλ€.
π¦ νλ°° μμ
νλ°°λ₯Ό μν€κ³ λλ©΄, λμ°©νμ λ λ¬Έμλ₯Ό 보λ΄λ¬λΌκ³ μμ²νμ£ ?
μ΄λ "λ¬Έμλ₯Ό 보λ΄λ μΌ"μ΄ μ½λ°± ν¨μμ λλ€.
"λμ°©"μ΄λΌλ μ‘°κ±΄μ΄ λ§μ‘±λλ©΄ κ·Έλ μ½λ°±μ μ€ννλ κ²λλ€!
function greet(name, callback) {
console.log("μλ
νμΈμ, " + name + "λ!");
callback();
}
function afterGreeting() {
console.log("μ’μ ν루 λμΈμ!");
}
greet("μ΄μμ€", afterGreeting);
// κ²°κ³Ό:
// μλ
νμΈμ, μ΄μμ€λ!
// μ’μ ν루 λμΈμ!
afterGreetingμ΄λΌλ ν¨μλ₯Ό μΈμλ‘ μ λ¬greet ν¨μ λ΄λΆμμ νμν μμ μ νΈμΆκ³ μ°¨ ν¨μλ:
ν¨μλ₯Ό μΈμλ‘ λ°κ±°λ, ν¨μλ₯Ό λ°ννλ ν¨μ
μ¦, μ½λ°± ν¨μλ₯Ό μ¬μ©νλ ν¨μλ κ³ μ°¨ ν¨μμ λλ€.
function repeat(n, callback) {
for (let i = 0; i < n; i++) {
callback(i);
}
}
repeat(3, i => {
console.log(i + "λ²μ§Έ λ°λ³΅μ
λλ€.");
});