[ν¨μ] μ½λ°±(Call back)μ΄λ?
μ½λ°±μ μ΄λ€ ν¨μλ₯Ό λ€λ₯Έ μ½λμ μΈμλ‘μ λ겨주λ μ€ν κ°λ₯ν μ½λλ₯Ό λ§νλ€.
μ½λ°±(callback)μ μ£Όλ‘ ν ν¨μκ° μ€ν μ€μ λ€λ₯Έ ν¨μλ₯Ό νΈμΆνκ³ , κ·Έ νΈμΆλ ν¨μκ° μμ μ μνν νμ μλ ν¨μλ‘ λμμμ λλ¨Έμ§ μμ μ μ§ννλλ‘ νλ ν¨ν΄μ μλ―Ένλ€. μ΄λ¬ν ν¨ν΄μ λΉλκΈ° μμ μ μ²λ¦¬νκ±°λ μ΄λ²€νΈ μ²λ¦¬μ κ°μ΄ λ€μν μν©μμ νμ©λλ€.
μ½λ°± ν¨μλ₯Ό μ¬μ©νλ μΌλ°μ μΈ μλ리μ€λ λ€μκ³Ό κ°λ€.
- μ£Όμ ν¨μ(λΆλͺ¨ ν¨μ λλ νΈμΆ ν¨μ)κ° μμλ©λλ€.
- μ£Όμ ν¨μλ λ€λ₯Έ ν¨μ(μ½λ°± ν¨μ)λ₯Ό νΈμΆνκ±°λ μ΄λ²€νΈ μ²λ¦¬ ν¨μλ₯Ό λ±λ‘ν©λλ€.
- μ½λ°± ν¨μ λλ μ΄λ²€νΈ μ²λ¦¬ ν¨μλ λΉλκΈ° μμ μ μννκ±°λ μ΄λ²€νΈλ₯Ό λκΈ°ν©λλ€.
- λΉλκΈ° μμ μ΄ μλ£λκ±°λ μ΄λ²€νΈκ° λ°μνλ©΄, μ½λ°± ν¨μκ° νΈμΆλ©λλ€.
- μ½λ°± ν¨μλ νμν μμ μ μννκ³ κ²°κ³Όλ₯Ό λ°ννκ±°λ λ€μ λ¨κ³λ₯Ό μ§νν©λλ€.
- μ£Όμ ν¨μκ° λλ¨Έμ§ μμ μ κ³μ μ§νν©λλ€.
<<λλ€λ₯Έ μμ>>
//μ½λ°± ν¨μ - κΈ°λ³Έ
// Hello jiho λ₯Ό μΆλ ₯νλ ν¨μ greeting
function greeting(name) {
console.log(`Hello ${name}`);
}
//greetingμ νμ΄ν ν¨μλ‘ λ³κ²½
//const greeting = () => console.log(`Hello ${name}`);
//greeting('jiho');
function processUserInput(name, callbackFunction) {
callbackFunction(name);
}
processUserInput('jiho', greeting);
// ν¨μ 2κ° κ΅¬ν
// 1. μΏ ν‘μμ μ¬κ³Όλ₯Ό κΈ°λ€λ¦¬λ ν¨μ waitCoupang(appleBox, callback)
// ν¨μμ λμ: 'μΏ ν‘μμ ${appleBox}κ° λμ°©νλ€'λ₯Ό μΆλ ₯νλ ν¨μ
// 2. bringItToNeighbor(λ³λμ νλΌλ―Έν° μμ)
// ν¨μμ λμ: 'μμ§ μμ£Όλ¨Έλμκ² μ λ¬ μλ£'λ₯Ό μΆλ ₯νλ ν¨μ
function bringItToNeighbor() {
console.log("μμ§ μμ£Όλ¨Έλμκ² μ λ¬ μλ£");
}
function waitCoupang(appleBox, callback) {
console.log(`μΏ ν‘μμ ${appleBox}κ° λμ°©νλ€.`);
callback();
}
waitCoupang('μ¬κ³Ό', bringItToNeighbor);
const callBack = number => console.log(number);
numbers.forEach(callBack);
'κ°λ° μ§μ, μ€ν¬λ¦½νΈ > JavaScript, TS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JS λμ νμ vs μ μ νμ (1) | 2023.11.26 |
---|---|
console.dir(); (1) | 2023.11.24 |
[ν¨μ] ν¨μμ μ¬λ¬κ°μ§ νν (0) | 2023.11.23 |
[ν¨μ] JS Doc λ? (0) | 2023.11.23 |
scope(μμ±ν΄μΌν¨) (0) | 2023.11.23 |
λκΈ