Frontend practice/java script
함수와 함수의 호출, 고차함수
판다꼬마
2024. 1. 20. 21:13
728x90
함수 선언
const add= (a,b) => a+b;
function calculator(func, a,b){
return func(a,b);
}
const onClick = () =>{
return ()=>{
console.log('hello')
}
}
const onClick1 = ()=>()=>{
console.log('hello')
}
이렇게 함수를 선언하는 방식이다.
함수 호출
add(3,5); //8
calculator(add,3,5); //8
onClick();
이렇게 알맞게 선언한 함수를 위 코드처럼 호출할 수 있다.
알맞게 선언한 함수 호출은 함수의 리턴값으로 대체하여도 맞다.
JS 알맞은 코드
const onClick = () =>{
return ()=>{
console.log('hello')
}
}
const onClick1 = ()=>()=>{
console.log('hello')
}
document.querySelector('#header').addEventListener('click',onClick());
이것을 리턴값으로 대체하면
document.querySelector('#header').addEventListener('click', ()=>{
console.log('hello')
});
위와 같은 코드가 되므로 맞는 코드이다.
JS 틀린 코드
const onClick = () =>{
console.log('hello')
}
const onClick1 = ()=>()=>{
console.log('hello')
}
document.querySelector('#header').addEventListener('click',onClick());
이것을 리턴값으로 대체하면
document.querySelector('#header').addEventListener('click', undefined);
위와 같은 코드가 되므로 틀린 코드이다.
출처
https://www.youtube.com/watch?v=NS1cIsWlFGI&list=PLcqDmjxt30Rt9wmSlw1u6sBYr-aZmpNB3&index=2
728x90