ν•΄λ²„λ‹ˆ 2025. 3. 9. 18:58
λ°˜μ‘ν˜•

 

μ½œλ°±ν•¨μˆ˜λŠ” νŽΈν•˜κ²Œ μ‚¬μš©ν•˜κ³  μžˆλŠ”λ° 어렴풋이 μ•Œκ³  μ‚¬μš©ν•˜κ³  μžˆμ–΄μ„œ μ•Œμ•„λ³΄μ•˜λ‹€.

 

콜백(Callback)ν•¨μˆ˜λž€?

λ‹€λ₯Έ ν•¨μˆ˜μ—κ²Œ λ„˜κ²¨μ£ΌλŠ” ν•¨μˆ˜μ΄λ‹€.

"μ–Œ~ 이 ν•¨μˆ˜ λ‚˜μ€‘μ— ν•„μš”ν•  λ•Œ μ•Œμ•„μ„œ μ‹€ν–‰ν•΄μ€˜~"라고 ν•˜λ©΄μ„œ ν•¨μˆ˜λ₯Ό λ‹€λ₯Έ ν•¨μˆ˜μ—κ²Œ λ„˜κ²¨μ£ΌλŠ” 것이닀.

 

콜백 ν•¨μˆ˜λ₯Ό νŒŒλΌλ―Έν„°λ‘œ μ „λ‹¬ν•˜κ³ , κ·Έ ν•¨μˆ˜λ₯Ό λ‚΄λΆ€μ—μ„œ μ‹€ν–‰ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ‚¬μš©ν•œλ‹€.

 

 

 

μ˜ˆμ‹œ - 이벀트 λ¦¬μŠ€λ„ˆ

button.addEventListener("click", () => { 
    console.log("λ²„νŠΌ 클릭");
});

 

λŒ€ν‘œμ μœΌλ‘œ 이벀트 λ¦¬μŠ€λ„ˆκ°€ μžˆλ‹€.

'이거 ν΄λ¦­ν•˜λ©΄ μ‹€ν–‰ν•΄μ€˜~!' ν•˜κ³  addEventListenerμ—κ²Œ ν•¨μˆ˜λ₯Ό λ„˜κΈ°λŠ” 것이닀. 

(클릭이 되면, λΈŒλΌμš°μ €κ°€ μ•Œμ•„μ„œ 싀행을 ν•΄μ€€λ‹€) 

 

μœ„ μ½”λ“œμ—μ„œ () => {...} κ°€ μ½œλ°±ν•¨μˆ˜μ΄λ‹€.

 

 

 

μ˜ˆμ‹œ - setTimeout

setTimeout(() => {
    console.log("3초 ν›„ μ‹€ν–‰!");
}, 3000);

 

λ‹€μŒμœΌλ‘œ setTimeout() ν•¨μˆ˜κ°€ μžˆλ‹€

setTimeout()λŠ” 일정 μ‹œκ°„μ΄ μ§€λ‚œ 후에 μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜μ΄λ‹€.

μ½œλ°±ν•¨μˆ˜λ₯Ό λ„˜κ²¨μ£Όλ©΄, μ„€μ •λœ μ‹œκ°„μ΄ μ§€λ‚œ 후에 κ·Έ ν•¨μˆ˜κ°€ μ‹€ν–‰λœλ‹€.

 

콜백 ν•¨μˆ˜ : () => { console.log("3초 ν›„ μ‹€ν–‰!");} 

 

 

 

μ˜ˆμ‹œ - every

const numbers = [2, 4, 6, 8];

const result = numbers.every(num => num % 2 === 0); // result : true

 

every()λŠ” λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ 주어진 쑰건을 λ§Œμ‘±ν•˜λŠ”μ§€ κ²€μ‚¬ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€.

λ°°μ—΄μ˜ λͺ¨λ“  μˆ«μžκ°€ μ§μˆ˜μΈμ§€ ν™•μΈν•œλ‹€. 

λ§Œμ•½ λͺ¨λ‘ 짝수라면 trueλ₯Ό, ν•˜λ‚˜λΌλ„ ν™€μˆ˜κ°€ μžˆλ‹€λ©΄ falseλ₯Ό λ°˜ν™˜ν•œλ‹€.

 

콜백 ν•¨μˆ˜ : (num => num % 2 === 0)

 

 

 

μ˜ˆμ‹œ - filter

const numbers = [1, 2, 3, 4, 5];

const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]

 

filter()λŠ” λ°°μ—΄μ—μ„œ 주어진 쑰건을 λ§Œμ‘±ν•˜λŠ” μš”μ†Œλ§Œ λ½‘μ•„λ‚΄λŠ” λ©”μ„œλ“œμ΄λ‹€.

2둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€κ°€ 0인 κ²ƒλ“€λ§Œ λ°˜ν™˜μ„ ν•œλ‹€.

μœ„μ˜ μ˜ˆμ œλŠ” 2와 4만 λ‚¨κ²Œ λœλ‹€. 

 

콜백 ν•¨μˆ˜ : (num => num % 2 === 0)

 

 

 

 

λ°˜μ‘ν˜•