2차 공부/TIL

24.04.28 콜백함수

공대탈출 2024. 4. 28. 21:52

자바스크립트에서 함수도 하나의 자료형이므로 매개변수로 전달할 수 있는데, 함수를 매개변수로 전달하는 함수를 콜백함수라 합니다.

function callThreeTimes (callback) {
	for (let i =0; i<3; i++) {
    	callback(i)
    }
}

function print (i) {
	console.log(`${i}번째 함수 호출`)
}

callThreeTimes(print)

//0번째 함수 호출
//1번째 함수 호출
//2번째 함수 호출

 

callThreeTimes(function (i) {
	console.log(`${i}번째 함수 호출`)
})

이렇게 익명함수 형태로 작성할 수도 있다.

 

콜백함수는 forEach(), map(), filter()에 주로 사용된다.

let numbers = [273, 52, 103, 32, 57]
numbers.forEach(function (value, index, array) {
	console.log(`${index}번째 요소 : ${value}`)
})
//0번째 요소: 273
//1번째 요소: 52
//2번째 요소: 103
//3번째 요소: 32
//4번째 요소: 57

let numbers = [273, 52, 103, 32, 57]
numbers = numbers.map(function (value, index, array) {
	return value*value
})
numbers.forEach(console.log)
//74529 0 Array(5)
//2704 1 Array(5) 
//10609 2 Array(5) 
//1024 3 Array(5) 
//3249 4 Array(5) 

const numbers = [0, 1, 2, 3, 4, 5]
const evenNumbers = numbers.filter(function (value) {
	return value%2 === 0
})
console.log(`원래배열: ${numbers}`)
console.log(`짝수만 추출: ${evenNumbers}`)
//원래배열: 0,1,2,3,4,5
//짝수만 추출: 0,2,4

'2차 공부 > TIL' 카테고리의 다른 글

24.04.30 타이머함수  (0) 2024.04.30
24.04.29 화살표함수  (0) 2024.04.29
24.04.27 나머지 매개변수  (0) 2024.04.27
24.04.26 익명함수와 선언적함수  (0) 2024.04.26
24.04.25 while반복문  (0) 2024.04.25