๐ javascript ๊ฐ๋ #8 ์ฝ๋ฐฑํจ์
์ฝ๋ฐฑํจ์
์ฝ๋ฐฑํจ์๋ ?
-> ๋์ค์ ๋ค์ ๋ถ๋ ค์ง๋ ํจ์
-> ํน์ ์ด๋ฒคํธ์ ์ํด ํธ์ถ๋๋ ํจ์
-> ๋ค๋ฅธ ํจ์์ ์ธ์๋ก์จ ๋๊ฒจ์ฃผ๋ ์คํ๊ฐ๋ฅํ ์ฝ๋
์ฝ๋ฐฑํจ์๋ฅผ ์ค๋ช ํ ๊ทธ๋ฆผ
callback์ ์ผ๋ฐ์ ์์
function div(x, y) {
return x / y;
}
function calculator(callback, x, y) {
return callback(x, y);
}
console.log(calculator(div, 7, 3));
// 2.3333333333333335
๋ ๋ค๋ฅธ ์
function ask(question, yes, no) {
if (confirm(question)) yes()
else no();
}
function showOk() {
alert( "๋์" );
}
function showCancel() {
alert( "์ทจ์" );
}
ask("๋์", showOk, showCancel);
// ํจ์ showOk์ showCancel๊ฐ ask ํจ์์ ์ธ์๋ก ์ ๋ฌ๋จ
์ฌ๊ธฐ์ ๋ณด๋ฉด ๋ ์ดํด๊ฐ ์ ๋๋๋ฐ, ํ๋ง๋๋ก ์ฝ๋ฐฑํจ์๋ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋๊ณ ๊ฐ์ ธ๋ค ์ด๋ค๊ณ ์ดํดํ๋ฉด ํธํ๋ค. ์ฌ๊ธฐ์๋ showOk, showCancel๋ฅผ ์ฝ๋ฐฑํจ์๋ผ๊ณ ํ๋ค.
์ฆ, ํจ์๋ฅผ ํจ์์์ธ์๋ก ์ ๋ฌํ๊ณ ์ธ์๋ก ์ ๋ฌํ ํจ์๋ฅผ ๋์ค์ ํธ์ถ (callback)ํ๋ ๊ฒ์ด ์ฝ๋ฐฑํจ์์ ๊ฐ๋ ์ด๋ค.
์์์๋ yes() ์๋ฆฌ์ showOk ํจ์๊ฐ ๋ค์ด๊ฐ๊ณ , no() ์๋ฆฌ์ showCancel ํจ์๊ฐ ๋ค์ด๊ฐ๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ javascript ๊ฐ๋ #8 ์ฝ๋ฐฑํจ์), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@dlehdus97/javascript-๊ฐ๋ -8-์ฝ๋ฐฑํจ์์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค