<aside> π‘ ν¨μ μ΄λ¦(); : ν¨μ νΈμΆ
ν¨μ μ΄λ¦(); : ν¨μ νΈμΆ
const val = ν¨μ μ΄λ¦; β ν¨μ μ체λ₯Ό λ°ν
const val = ν¨μ μ΄λ¦(); β ν¨μμ return κ°μ λ°ν
</aside>
const print = function () { // -> ν¨μλ λ€λ₯Έ λ³μμ²λΌ μ·¨κΈλ©λλ€. (A)
// anonymous function - μ΄λ¦μ΄ μλ ν¨μ
console.log('print');
};
print();
const printAgain = print;
printAgain(); // -> λ€λ₯Έ ν¨μμ μν΄ λ°ν λ μ μμ΅λλ€. (C)
function sum(a, b) {
return a + b;
}
const sumAgain = sum;
console.log(sumAgain(1, 3)); // -> λ€λ₯Έ ν¨μμ μΈμ(argument)λ‘ μ λ¬ν μ μμ΅λλ€. (B)
testFunc(); // 'test-dumy' (hoisting - ν¨μ μ μΈ)
function testFunc() {
console.log('test-dumy');
console.log(testVal); // undefined (hoisting - var λ³μ)
var testVal = 'hi!';
}
function randomQuiz(answer, printYes, printNo) { // μΈμ(parameter) : ν¨μ
if(answer === 'love you') {
printYes();
}
else {
printNo();
}
}
const printYes = function () { // anonymous function
console.log('yes!');
};
const printNo = function print() { // named function
console.log('no');
};
randomQuiz('wrong', printYes, printNo); // no
randomQuiz('love you', printYes, printNo); // yes!
//randomQuiz('wrong'); // error