castle.log
BlogWorkHistory

함수와 함수의 호출 차이

2025년 01월 07일  1년 전
제로초
인간 JS 엔진 되기
함수와 함수의 호출 차이

백견이불여일타(百見而不如一作)

함수와 함수의 호출차이, 고차함수


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를 넣어야한다.
다음 게시글자바스크립트 호출 스펙