- 전개 구문 spread syntax
- 말 그대로 '값을 펼쳐주는' 구문
- 배열처럼 값이 다양한 자료를 한꺼번에 인수로 넘겨주거나 배열과 배열을 합할 때처럼 배열을 하나의 덩어리로 처리해야 할 때 유용함
- 3개의 마침표를 이용한 '...' 기호 사용
- 문자열이나 배열, 객체처럼 여러 개의 값을 담고 있는 자료형에서 다른 정보는 필요 없고 그 안의 값만 꺼내 사용하려고 할 때 유용함
- 나머지 매개변수
- 전개 구문은 함수를 선언할 때 사용할 수도 있음
- 함수를 선언하면서 나중에 몇 개의 인수를 받게 될지 알 수 없는 경우 전개 구문을 사용해서 매개변수를 만드는데, 이것을 '나머지 매개변수'라고 함
function addNum(...numbers) {
let sum = 0;
for (let number of numbers)
sum += number;
return sum;
}
console.log(addNum(1, 3)); // 4
console.log(addNum(1, 3, 5, 7)) // 16
- 나머지 매개변수를 이용해 인수의 개수와 상관없이 넘겨주는 값을 모두 더할 수 있음
function displayFavorites(first, ...favs) {
let str = `가장 좋아하는 과일은 "${first}"군요`;
return str;
}
console.log(displayFavorites("사과", "포도", "토마토"));
( 첫 번째 인수만 first로 받고, 나머지는 변수 favs로 받아서 화면에 표시하는 예제 )
- 함수를 실행하면서 넘겨주는 인수의 일부분은 변수로 받고, 그 외에는 나머지 매개변수로 받을 수 있음
- 나머지 매개변수는 마지막에 써야 함
- 타이머 함수 timer function
- 특정 시간이 되었을 때 함수를 실행하거나 특정 시간 동안 함수를 반복하기 위해서 시간을 재는 함수
- 타이머 함수는 실행할 함수와 시간을 지정하는 함수로, 타이머 함수에 실행할 함수를 인수로 받기 때문에 콜백 함수를 매개변수로 사용
- 일정 시간마다 반복하기 - setInterval()
- 일정한 시간마다 함수를 반복해서 실행하는 함수
- 밀리초 단위로 사용 (1,000밀리초 = 1초)
- 한 번 실행하면 웹 브라우저를 종료하기 전까지는 문서를 새로 고침하거나 다른 페이지로 이동해도 계속 실행됨
function greeting() {
console.log("안녕하세요?");
}
setInterval(greeting, 2000);
setInterval(() => {
console.log("안녕하세요?")
}, 2000);
( 2초마다 인사말 표시하는 예제 )
- 반복 실행 멈추기 - clearInterval()
- setInterval() 함수가 특정 조건이 되었을 경우 반복 실행을 멈추도록 함
- setInterval() 함수로 시작한 타이머를 종료하는 함수
let counter = 0;
let timer = serInterval(() => { // 타이머에 이름을 지정. 타이머 시작.
console.log("안녕하세요?")
counter++; // 인사말 표시 횟수 1증가.
if (counter === 5)
clearInterval(timer); // counter = 5이면 타이머 종료.
}, 2000);
- 특정 시간 이후에 실행하기 - setTimeout()
- 지정한 시간이 지난후에 콜백 함수를 실행
setTimeout(콜백함수, 시간)
setTimeout(() => {
console.log("안녕하세요?")
}, 3000);
( 3초 후에 인사말을 표시하는 예시 )
'Study > JavaScript' 카테고리의 다른 글
[JS] 05-2 웹 요소에 접근하기 (0) | 2023.01.23 |
---|---|
[JS] 05-1 DOM과 DOM 트리 (0) | 2023.01.18 |
[모던 자바스크립트] 04-3 함수 표현식 (0) | 2023.01.17 |
[모던 자바스크립트] 04-1 함수 ~ 04-2 스코프 (0) | 2023.01.15 |
[모던 자바스크립트] 03-3 반복문 (0) | 2023.01.14 |