-
05-2. 함수 고급Book/혼자 공부하는 자바스크립트 2022. 2. 3. 02:16
콜백함수
자바스크립트는 함수도 하나의 자료형이므로 매개 변수로 전달 함수를 콜백 함수라고 한다.
<script> function callThreeTimes(callback) { for(let i=0; i<3 ;i++) { callback(i) } } function print(i) { console.log(`${i}번째 함수 호출`) } callThreeTimes(print) </script>
화살표 함수
단순한 형태의 함수를 쉽게 입력하고자 화살표(arrow) 함수라는 함수 생성방법이 있습니다.
화살표 함수는 function 키워드 대신 ghktkfvy(=>)를 사용합니다.
(매개변수) => { } 불표현식 || 불표현식이 거짓일 때 실행할 문장
아래와 같이 더 간단히 사용할 수 있으며 내부에서는 this 키워드가 지칭하는 대상이 다르다는 등의 미세한 차이가 있습니다.
(매개변수) => 리턴값
예제
const array = [0,1,2,3,4,5,6,7,8,9] array.map((value) => value * value) 결과값 : (10) [0,1,4,9,16,25,36,49,64,81]
<script> let numbers = [0,1,2,3,4,5,6,7,8,9] numbers .filter((value) => value % 2 ===0) .map((value) => value * value) .forEach((value)=>{ console.log(value) }) </script>
메소드가 리턴하는 값을 기반으로 해서 함수를 줄줄이 사용하는 것을 메소드 체이닝(method chaining)이라고 부릅니다.
타이머 함수
특정 시간 이후에 콜백 함수를 호출 할 수 있는 타이머(timer) 함수들이 있습니다.
함수 이름 설명 setTimeout(함수,시간) 특정 시간 후에 함수를 한번 호출 합니다. setInterval(함수,시간) 특정시간마다 함수를 호출합니다. 타이머를 종료하고 싶을 때는 clearTimout()함수와 clearInterval()함수를 사용합니다.
함수이름 설명 clearTimeout(타이머_ID) setTimeout()함수로 설정한 타이머를 제거합니다. clearInterval(타이머_ID) setInterval()함수로 설정한 타이머를 제거합니다. <script> let id let count=0 id = setInterval(()=>{ console.log(`1초마다 실행됩니다.(${count}번째)`) count++ },1*1000) setTimeout(()=>{ console.log('타이머를 종료합니다.') clearInterval(id) },5*1000) </script>
setInterval()함수를 사용해서 1초마다 메시지를 출력하고, setTimeout()함수를 사용해서 5초후 타이머를 종료합니다.
'Book > 혼자 공부하는 자바스크립트' 카테고리의 다른 글
06-1. 객체 기본 (0) 2022.02.05 05-3. 호출 함수 (0) 2022.02.04 05-1. 함수의 기본형태 (0) 2022.01.31 04-2. 반복문 (0) 2022.01.28 04-1. 배열 (0) 2022.01.28