본문 바로가기
사이드 프로젝트/인프런 - 올인원 개발 클래스

Javascript 콜백과 익명함수

by 의정부핵꿀밤 2021. 8. 10.
728x90

🎪 Javascript 콜백과 익명함수

- callback(콜백) 함수 : 함수가 나중에 불리는 함수

- 보통 콜백 함수 구현 시, 함수의 인자에 함수를 넣는 방식으로 진행한다

//1. sayHello라는 함수가 콜백 함수로 사용되는 예시를 보여줍니다.

function sayHello(){ //sayHello 라는 함수를 만듭니다.
	console.log('수강생 여러분 안녕하세요');
}

function getHuman(callback){ //getHuman 함수의 파라미터에는 함수가 들어갑니다.
	
	callback(); //callbackFunc 파라미터는 함수이기에 실행시킬 수 있습니다.
}

//getHuman의 파라미터인 callbackFunc에는 sayHello가 들어가고 sayHello가 실행됩니다.
getHuman(sayHello); //'나는 그랩이다'가 출력됩니다.

// 파라미터가 함수가 아니어서 아래 코드는 오류가 납니다.
getHuman(1);

 

- 또한 콜백함수 사용시 함수로 정의된 변수를 넣지 않고 바로 함수를 넣을수도 있는데 이를 "익명함수"라고 한다.

- 우선 익명함수부터 보자!

 

> 익명함수

// 익명함수 : grab이라는 변수에 익명함수를 저장한다
const grab = function(){
	console.log('this is grab');
}

 

- 콜백함수를 꼭 알아야 하는 이유는! javascript에서 기본으로 제공해주는 많은 함수, 라이브러리들을 사용할 떄 콜백 함수를 사용하기 때문이다!!

// 대표적으로 setTimeout, setInterval 함수가 있습니다.
// 이들은 javascript 기본으로 탑재되어 있는 내장함수입니다.

//이 두 함수는 첫 번째 인자에 콜백 함수를 넣고, 두번째에 ms 단위의 숫자를 넣는다.

// 함수가 3초 뒤에 실행된다
setTimeout(function(){
	console.log('3초 뒤에 실행됩니다!');
}, 3000)

// 함수가 1초마다 실행된다 - timer, 스톱워치 구현 시 많이 사용되는 내장함수이다
setInterval(function(){
	console.log('1초마다 출력됩니다')
},1000)

 

- 콜백 함수에는 보통 인자를 넣어서 많이 사용된다

//콜백에 사용될 함수
function callbackFunc(name){
	console.log(name);
}

function sayHello(callback){
	var text = 'hello';
	callback(text);
}

sayHello(callbackFunc); //hello가 출력됩니다.

// 매개변수로 익명 함수를 사용하여 동일하게 구현이 가능하다
sayHello(function(value){ //위와 동일하게 value에는 hello가 들어갑니다.
	console.log(value) 
})

 

728x90

'사이드 프로젝트 > 인프런 - 올인원 개발 클래스' 카테고리의 다른 글

클라이언트와 서버  (0) 2021.08.11
Javascript 비동기 처리  (0) 2021.08.10
javascript 공부하기  (0) 2021.08.08
flex 레이아웃  (0) 2021.08.04
HTML & CSS 기본  (0) 2021.08.02

댓글