이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
TypeScript의 유형 보강: 기존 유형에 속성 및 메서드를 추가하는 방법
TypeScript는 JavaScript에 정적 타이핑을 제공하는 프론트엔드 및 백엔드 개발에 널리 사용되는 언어입니다. JavaScript에서 기본적으로 사용할 수 없는 유형을 정의하고 사용하는 방법을 제공합니다. TypeScript의 가장 유용한 기능 중 하나는 새로운 속성과 메서드로 기존 유형을 보강하는 기능입니다. 이 게시물에서는 TypeScript에서 유형을 보강하는 방법을 살펴보겠습니다.
TypeScript의 증강 유형을 통해 개발자는 원래 정의를 수정하지 않고도 기존 유형의 기능을 확장할 수 있습니다. 이 접근 방식을 통해 개발자는 기존 형식에 새로운 메서드와 속성을 추가할 수 있으며 이는 많은 시나리오에서 유용할 수 있습니다. 예를 들어 Array
유형에 새 메서드를 추가하거나 Window
유형에 새 속성을 추가할 수 있습니다.
TypeScript에서 유형을 보강하려면 보강하려는 유형과 동일한 이름으로 새 인터페이스를 선언해야 합니다. 새 인터페이스에는 기존 유형에 추가하려는 추가 속성 및 메서드가 포함되어야 합니다. Array
유형에 shuffle
이라는 새 메서드를 추가하려는 예를 살펴보겠습니다.
interface Array<T> {
shuffle(): T[];
}
위의 코드에서 유형 매개변수 T
를 사용하는 Array
라는 새 인터페이스를 선언합니다. 그런 다음 T[]
유형의 배열을 반환하는 shuffle
이라는 새 메서드를 선언합니다. 이 인터페이스 선언은 새로운 shuffle
메서드로 기존 Array
유형을 보강합니다.
코드에서 새로운 shuffle
메서드를 사용하려면 아래와 같이 배열의 인스턴스에서 호출하기만 하면 됩니다.
const myArray = [1, 2, 3, 4, 5];
const shuffledArray = myArray.shuffle();
위의 코드에서 myArray
라는 배열의 인스턴스를 만들고 여기에 새로운 shuffle
메서드를 호출합니다. 이 메서드는 shuffledArray
라는 새 변수에 저장하는 섞인 배열을 반환합니다.
내장 유형을 보강하는 것 외에도 타사 라이브러리에서 유형을 보강할 수도 있습니다. 이 접근 방식은 라이브러리의 정의 파일에 포함되지 않은 형식에 새 속성이나 메서드를 추가하려는 경우에 유용할 수 있습니다.
타사 라이브러리를 보강하려면 먼저 해당 @types
패키지를 설치해야 합니다. 예를 들어 lodash
라이브러리를 보강하려면 @types/lodash
패키지를 설치해야 합니다.
@types
패키지를 설치하면 보강하려는 유형과 동일한 이름으로 새 인터페이스를 선언할 수 있습니다. 새 인터페이스에는 기존 유형에 추가하려는 추가 속성 및 메서드가 포함되어야 합니다. 예를 들어, lodash
라이브러리의 _.Array
유형에 chunkBy
라는 새 메소드를 추가하려는 예를 생각해 봅시다.
declare module 'lodash' {
interface Array<T> {
chunkBy(size: number): T[][];
}
}
위의 코드에서 lodash
라는 이름으로 새 모듈을 선언합니다. 그런 다음 유형 매개변수 T
를 사용하는 Array
라는 새 인터페이스를 선언합니다. 그런 다음 size
숫자 매개변수를 사용하고 T[][]
유형의 2차원 배열을 반환하는 chunkBy
라는 새 메서드를 선언합니다. 이 인터페이스 선언은 새로운 chunkBy
메서드로 lodash
라이브러리의 기존 _.Array
유형을 보강합니다.
코드에서 새로운 chunkBy
메서드를 사용하려면 아래와 같이 배열의 인스턴스에서 호출하기만 하면 됩니다.
import _ from 'lodash';
const myArray = [1, 2, 3, 4, 5];
const chunkedArray = _.chunkBy(myArray, 2);
위의 코드에서 lodash
라이브러리를 가져오고 myArray
라는 배열의 인스턴스를 만듭니다. 그런 다음 lodash
개체에서 새로운 chunkBy
메서드를 호출하고 myArray
배열과 청크 크기 2
를 전달합니다. 이 메서드는 chunkedArray
라는 새 변수에 저장하는 청크 배열을 반환합니다.
이 게시물에서는 TypeScript에서 유형을 보강하는 방법을 살펴보았습니다. 기본 제공 및 타사의 기존 유형에 새 속성과 메서드를 추가하는 방법을 살펴보았습니다. 유형 보강은 개발자가 원래 정의를 수정하지 않고 기존 유형의 기능을 확장할 수 있게 해주는 강력한 기능입니다. 이 기능을 사용하여 개발자는 보다 표현적이고 유지 관리 가능한 코드를 작성할 수 있습니다.