2021년 2월 11일 목요일

[Typescript/NodeJS] Array의 prototype에 함수 추가하기

Array의 prototype에 함수를 추가하려면 다음과 같이 한다.

d.ts 파일을 다음과 같이 작성한다.

1
2
3
4
5
declare global {
    interface Array<T> {
        deepCopy(): Array<T>;
    }
}
cs

그리고 ts 파일에 다음과 같이 한다.

1
2
3
4
5
6
7
8
Array.prototype.deepCopy = function() {
    let newArray: any[] = [];
    for(let i = 0; i < this.length; i++) {
        newArray.push(this[i]);
    }
    return newArray;
}
 
cs

위를 보면 export 구문이 없다. 뭐 위 내용을 export = () => {} 처럼 함수를 export 하고 함수 안에서 위 내용을 호출해도 되지만, export 구문이 없어도 된다.

그리고 index.ts(package.json의 main)에서 require("[js파일 경로]"); 를 해주면 된다.

그럼 전역으로 사용할 수 있다.

댓글 없음: