Dev./javascript
[JS] 매개변수가 함수인지 확인하기
인쥭
2022. 3. 23. 14:44
반응형
- [변수] instanceof Function을 활용하여 체크한다.
- typeof [변수] === 'function'도 사용할 수 있다.
사용 예시
function callFunctions(init, ...functions) {
return functions.reduce((acc, func) => {
if(func instanceof Function)
return func(acc);
else
throw new Error(`${func} is not Function`);
}, init);
}
try {
const result = callFunctions(
1,
value => value *= 100,
value => value += 2,
// 3,
value => value -= 22,
console.log,
);
console.log(result);
} catch(e) {
console.log(e.message);
}
- callFunctions는 초기값과 함수들을 받아 실행한 후 값을 return한다.
- try 블록에서, console.log에 의해 80이 출력되지만 console.log는 아무것도 반환하지 않으므로 result는 undefined가 된다.
- 주석 처리된 3을 주석해제하면 callFunction의 else 분기에 의해 에러가 반환된다.