javascript - utöka klass med en statisk metod


säg att du har en date_ext.js med funktioner:

Date.prototype.getMyBlaDate = function() {
  return // bla bla
};

Date.minutesBetween = function (date1, date2) {
  return // obladi-oblada
}

Du vill inte konvertera hela filen till TypeScript men du kan fortfarande använda metoderna från den. Låt oss skapa en definition för TypeScript

interface Date{
  getMyBlaDate():BlaBlaType;
  minutesBetween(date1:Date, date2:Date):ObladiType; 
}

det fungerar för prototypad metod men inte för den statiska. Hur definierar du en statisk metod?

Svar #1

Av att titta på lib.d.ts verkar det som att du skulle använda:

declare var Date: {
    minutesBetween(date1:Date, date2:Date):ObladiType;
}

UPPDATERING

Det ser ut som att det för närvarande inte stöds; se http://typescript.codeplex.com/discussions/403971