백견이불여일타(百見而不如一作)
const add = (a,b) => a + b;
function calculator(func, a,b){
return func(a,b);
}
add(3,5); //8
calculator(add, 3,5) //8
const onClick = () => {
console.log('hello')
}
document.querySelector('#btn').addEventListener('click',onClick()); //undefined
const onClick = () => () => {
console.log('hello')
}
document.querySelector('#btn').addEventListener('click',onClick()); //console.log('hello')
//고차함수 검증
const onClick = () => (event) => {
console.log('hello')
}
document.querySelector('#btn').addEventListener('click',(event)=> {
console.log('hello')
}); //console.log('hello')
팁 함수의 호출을 보면 함수 리턴값을 대체를 해보자
const add = (a,b) => a + b;
function calculator(func, a,b){
return func(a,b);
}
add(3,5); //8
calculator(add(), 3,5) //라고 생각하면
calculator(undefined + undefined, 3,5) // 말이안되는 코드
calculator(add, 3,5) // 함수의 호출이 아닌 함수 add를 넣어야한다.