어쨌든 Date
, String
, Array
등과 같은 유형에 일부 정적 메서드를 추가 할 방법이 있습니까? 예를 들어 TypeScript : 내장 클래스에 정적 메서드를 추가하는 방법
today
Object.defineProperty
Date
클래스에 자바 스크립트에서 나는 단순히 그것에 속성을 추가하거나 어쩌면 내가 사용 할 수 :
Date.today = function(){
let date = new Date;
date.setHours(0,0,0,0);
return date;
}
Object.defineProperty(Date, 'today', { get() { ... }});
을하지만 didn를 어쨌든이 새로운 정적 멤버에 대해 TypeScript
에게 알릴 수 없습니다. 나는 뭔가를 놓치고 있습니까? 아니면 제가 잘못 했나요?
declare global {
interface DateConstructor {
today:() => Date
}
}
Date.today = function(){
let date = new Date;
date.setHours(0,0,0,0);
return date;
}
는 마찬가지로 문자열과 배열에 대한
StringConstructor
및
ArrayConstructor
을 확장 :
은 https ://stackoverflow.com/questions/36910521/how-to-extend-native-javascript-types-in-typescript-1-8-using-global-augmentatio – haim770
@ haim770 내가 말했듯이 클래스 확장은 프로토 타입이 아닙니다. –