0Pricing
TypeScript Academy · 강의

Rest 매개변수 및 형식과 함께 사용하는 전개

Rest 매개변수와 전개 연산에 형식을 지정합니다.

Rest 매개변수 및 형식과 함께 사용하는 전개은(는) CoddyKit의 무료 TypeScript Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 TypeScript Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. TypeScript Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

환영합니다

나머지 매개변수는 여러 인수를 배열로 모읍니다. TypeScript는 나머지 매개변수를 요소 타입의 배열로 지정합니다.

나머지 매개변수 타입 지정

나머지 매개변수에는 `...name: T[]` 문법을 사용하십시오. 이 매개변수는 나머지 모든 인수를 배열로 수집합니다.
function sum(...nums: number[]): number {
  return nums.reduce((a, b) => a + b, 0);
}
console.log(sum(1, 2, 3, 4)); // 10

필수 매개변수 뒤의 나머지 매개변수

나머지 매개변수는 마지막에 와야 합니다. 다른 필수 매개변수는 나머지 매개변수 앞에 작성합니다.
function log(level: string, ...messages: string[]): void {
  console.log(level, messages.join(' '));
}
log('INFO', 'Server', 'started', 'on', 'port', '3000');

배열을 함수에 전개하기

전개 구문 `...`을 사용하여 배열 요소를 개별 인수로 전달하십시오. TypeScript는 전개된 타입이 매개변수와 일치하는지 확인합니다.
function add(a: number, b: number): number { return a + b; }
const args: [number, number] = [1, 2];
add(...args); // OK — tuple spread is type-safe

일반 배열 전개하기

일반 배열을 고정 매개변수 함수에 전개하면 오류가 발생할 수 있습니다. TypeScript가 요소 수가 일치하는지 확인할 수 없기 때문입니다.
const nums = [1, 2]; // number[] — length unknown
// add(...nums); // Error: spread must match parameters
const pair: [number, number] = [1, 2];
add(...pair); // OK — tuple has known length

나머지 매개변수와 arguments 객체

나머지 매개변수는 기존 `arguments` 객체를 대체합니다. 나머지 매개변수는 `arguments`와 달리 완전한 TypeScript 타입 지원을 받는 실제 배열입니다.

객체 전개하기(나머지 매개변수 아님)

객체를 전개하면 얕은 복사본이 생성됩니다. TypeScript는 전개 결과가 결합된 타입이라고 추론합니다.
const a = { x: 1, y: 2 };
const b = { z: 3 };
const c = { ...a, ...b }; // { x: number; y: number; z: number }

전개로 속성 재정의하기

전개할 때 같은 이름의 속성이 있으면 나중에 작성된 속성이 앞선 속성을 재정의합니다.
const base = { color: 'red', size: 5 };
const updated = { ...base, color: 'blue' };
// { color: 'blue', size: 5 }

배열에서 타입이 지정된 전개 사용하기

배열 전개는 새 배열을 생성합니다. TypeScript는 결합된 요소 타입을 추론합니다.
const a: number[] = [1, 2];
const b: number[] = [3, 4];
const c: number[] = [...a, ...b]; // [1, 2, 3, 4]

가변 튜플 나머지 요소

TypeScript는 고급 가변 인자 패턴을 위해 튜플 타입에서 나머지 요소를 지원합니다.
type Strings = string[];
type StringsAndNumber = [...Strings, number];
const t: StringsAndNumber = ['a', 'b', 42];

구조 분해에서 나머지 요소 사용하기

구조 분해에서 나머지 구문을 사용하여 남은 요소를 타입이 지정된 배열로 모으십시오.
const [first, ...rest]: number[] = [1, 2, 3, 4];
// first: number, rest: number[]

빠른 확인

`function collect(...items: string[])`의 나머지 매개변수 `...items`에 대해 TypeScript는 어떤 타입을 추론합니까?

복습

나머지 매개변수(`...args: T[]`)는 남은 인수를 타입이 지정된 배열로 수집합니다. 타입 안전성을 위해 튜플을 사용하여 배열을 함수에 전개하십시오. 객체를 전개하면 추론된 결합 타입을 가진 얕은 복사본이 생성됩니다.

자주 묻는 질문

“Rest 매개변수 및 형식과 함께 사용하는 전개” 강의는 무료인가요?

네 — “Rest 매개변수 및 형식과 함께 사용하는 전개” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 TypeScript Academy 강의 전체를 잠금 해제할 수 있습니다. TypeScript Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Rest 매개변수 및 형식과 함께 사용하는 전개”에서 뭘 배우나요?

Rest 매개변수와 전개 연산에 형식을 지정합니다. 브라우저에서 직접 실행하는 실습 코드로 TypeScript Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

TypeScript Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 TypeScript Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Rest 매개변수 및 형식과 함께 사용하는 전개” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 TypeScript Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 TypeScript Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 매개변수 및 반환 형식 주석
  2. 선택적 및 기본 매개변수
  3. Rest 매개변수 및 형식과 함께 사용하는 전개
  4. void, never 및 함수 시그니처
← TypeScript Academy(으)로 돌아가기