반응형
유형 스크립트를 사용하여 프로토타입 함수 정의
프로토타입 함수를 정의하려고 하면 다음과 같은 결과를 얻을 수 있습니다.
오류 TS2339: 'applyParams' 속성이 'Function' 유형에 없습니다.
Function.prototype.applyParams = (params: any) => {
this.apply(this, params);
}
이 오류를 해결하는 방법은 무엇입니까?
이름이 지정된 인터페이스에서 메서드를 정의Function
순식간에.d.ts
파일. 그러면 글로벌과 병합 선언이 발생합니다.Function
유형:
interface Function {
applyParams(params: any): void;
}
화살표 기능을 사용하면 안 됩니다.this
외부 컨텍스트에 구속되지 않습니다.정규 함수 식을 사용합니다.
Function.prototype.applyParams = function(params: any) {
this.apply(this, params);
};
이제 작동합니다.
const myFunction = function () { console.log(arguments); };
myFunction.applyParams([1, 2, 3]);
function myOtherFunction() {
console.log(arguments);
}
myOtherFunction.applyParams([1, 2, 3]);
언급URL : https://stackoverflow.com/questions/41773168/define-prototype-function-with-typescript
반응형
'programing' 카테고리의 다른 글
제공한 권한 부여 메커니즘이 지원되지 않습니다.AWS4-HMAC-SHA256을 사용하십시오. (0) | 2023.06.14 |
---|---|
그룹별 첫 번째 행 선택 (0) | 2023.06.14 |
데이터 테이블을 필터링하려면 어떻게 해야 합니까? (0) | 2023.06.14 |
반환 *의 결과를 MariaDB에 어떻게 저장합니까? (0) | 2023.06.14 |
부울 만족도에 대한 클래스 스케줄링 [다항식 시간 단축] (0) | 2023.06.14 |