반응형
★ function expression
함수를 선언함과 동시에 변수에 할당할 수 있다. 예를 들자면
const showSentence = function () {
console.log('Hello World!');
};
showSentence(); // 함수호출
const otherFunc = showSentence; // 해당 함수를 다른 변수에도 할당할 수 있다.
otherFunc();
그리고 위의 코드에서 함수명은 없고 function 키워드만 있는데, 이런 함수를 anonymous finction이라고 한다. 물론 함수명을 넣어도 된다. 이렇게 함수의 이름이 있는 함수를 named function이라고 한다.
★ Callback
함수를 전달해서 상황에 맞게 함수를 호출하는 것은 callback Function이라고 한다. 말이 어려우니 예를 들어 보면
// 랜덤퀴즈 함수, 정답, 정답이 맞았을때 출력되는 함수, 오답일때 출력되는 함수를 인수로 전달받는다.
function randomQuize(answer, printCollect, printFail) {
if(answer === 'Hello World!'){
printCollect(); // callback함수
} else {
prinntFail(); // callback함수
}
}
const printCollect = function() {
console.log('Collect!');
};
const printFail = function() {
console.log('Fail..');
};
randomQuize('Bye!', printCollect, printFail);
randomQuize('Hello World!', printCollect, printFail);
참고로 Javascript에서는 함수도 호이스팅 (hoisting)이 된다. 즉, 함수가 정의되기 전에 호출이 가능하다.
반응형
'웹 개발 공부 : Front-end > Javascript' 카테고리의 다른 글
Javascript #12 - Arrow Function (함수 part.3) (0) | 2021.01.12 |
---|---|
Javascript #10 - 함수 Part. 1 (0) | 2021.01.11 |
Javascript #9 - 반복문, 조건문 (0) | 2021.01.09 |
Javascript #8 - 연산자 (0) | 2021.01.09 |
Javascript #7 - 이 외의 타입들 (0) | 2021.01.08 |