[JavaScript] μ΅λͺ CallBack ν¨μ μ§μ μ μλ₯Ό μ¬μ©νλ μ΄μ μμ보기
π€ CallBack ν¨μκ° λκΉ?
μλ° μ€ν¬λ¦½νΈμμλ μ μΈν¨μ λλ μ΅λͺ ν¨μλ₯Ό μΈμλ‘ λ°μ
νΈμΆν ν¨μ λ΄λΆμμ μΈμλ‘ μ λ¬λ°μ ν¨μλ₯Ό νΈμΆ(Callback) ν μ μλ€.
κ°λ¨νκ² μμλ₯Ό λ€μ΄λ³΄μ.
<script>
//μ¬λμ λμ(movement)μ μ μ΄
function person(movement, clock) {
document.write(`λλ μ§κΈ `);
movement(clock);
}
//λ°₯ λ¨Ήλ λμ
function eat(clock) {
document.write(`${clock}μμ λ°₯ λ¨Ήλμ€μ΄λ€`);
}
//3μμ λ°₯ λ¨Ήκ³ μΆλ€
person(eat, 3);
π μ¬λμ λμμ μ€ννλ ν¨μμ λμ ν¨μλ₯Ό μΈμλ‘ μ λ¬λ°μ call νλ κ²μ΄λ€.
βκ·Έλ λ€λ©΄ μ΅λͺ CallBack ν¨μλ₯Ό μ§μ μ μνλ€λ건?
μ΄λ―Έ λ§λ€μ΄μ Έ μλ μΌλ° ν¨μλ₯Ό μΈμλ‘ μ£Όλ κ²μ΄ μλ
μ΅λͺ ν¨μλ‘ μ§μ μμ±ν μ½λλ₯Ό μΈμλ‘ λ£μ΄μ£Όλκ²μ΄λ€.
κ·Έλ λ€λ©΄ νλ² μμ λ₯Ό λ΄λ³΄κ² λ€.
//μ¬λμ λμ(movement)μ μ μ΄
function person(movement, clock) {
document.write(`λλ μ§κΈ `);
movement(clock);
}
π μ ν¨μλ μ¬λμ λμμ μ μ΄νλ ν¨μμ΄λ©° λμμ μΈμλ‘ λ°λλ€.
κ·Έλ°λ° κ°μκΈ° μ λμ λ΄ κΈ°λΆμ νμνκ³ μΆμ΄μ‘λ€!
κ·Έλ¬λ μλ κΈ°λΆμ΄ μ’λ€ λ λμμ΄λΌκ³ νκΈ° μ λ§€νλ©°, μ¬μ¬μ©ν μΌλ μκΈ°λλ¬Έμ
λ°λ‘ ν¨μλ‘ λ§λ€κΈ°λ μ λ§€νλ€.
μ΄λ΄ λ κ·Έλ₯ μ¦μμΌλ‘ λ§λ€μ΄μ μ¬μ©ν μ μλλ‘ μ΅λͺ ν¨μλ‘ μ§μ μ½λλ₯Ό μΈ μ μλ€.
person(function (mood) {
document.write(mood);
}, "μ λλ€");
π μΈμλ‘ λ€μ΄κ° ν¨μμ μ΅λͺ μΌλ‘ νμ¬ λ΄ κΈ°λΆμ νμνλ ν¨μλ₯Ό μ λ ₯νλ€.
μ΄λ κ² λλ©΄ κ΅³μ΄ κ΄λ ¨μ΄ μλ μλ‘μ΄ νμλ₯Ό μ΅λͺ ν¨μ μ§μ μ μλ₯Ό ν΅ν΄
μ¦μμΌλ‘ κ°λ¨νκ² μΆλ ₯ν μ μλ€.
π€ μ€μ λ‘ μ΄λμ λ§μ΄ μ¬μ©μ΄ λ κΉ?
μ¬λ¬ μ©λλ‘ λ§μ΄ μ¬μ©λμ§λ§ νΉν μ΄λ²€νΈ νΈλ€λ¬μ λ§μ΄ μ¬μ©λλ€.
λ²νΌμ λλ μ λ κΈ°μ‘΄μ λ§λ€μ΄μ Έμλ μ΄λ²€νΈκ° μλ μλ‘μ΄ μ΄λ²€νΈλ€μ΄ μ€ν λκΈΈλ°λλ,
κ·Έ μλ‘μ΄ μ΄λ²€νΈλ₯Ό λ€λ₯Έ κ³³μμ μ¬νμ©νλ κ²μ΄ μλ νλ² μ°κ³ λ²λ €μ κ΅³μ΄ ν¨μλ‘ μ μνκΈ° μ λ§€ν λ,
κ·Έλ¬ν λΆλΆμ μΈμλ‘ μ§μ μ΅λͺ μΌλ‘ μ μλ μ½λλ₯Ό λ£μ΄ μ°κ³ λ²λ¦¬λ©΄λλ€.