Typoskript ERSTELLUNGSDATUM Typ Fehler

Arbeiten mit typescript 1.4 ich habe komische Fehler auf die folgenden code-Zeilen :

var dateFrom:Date;
var dateTo:Date;
if(typeof discount.dateFrom ===  "string"){
    dateFrom = new Date(discount.dateFrom); //Line 362
} else {
    dateFrom = discount.dateFrom;
}

if(typeof discount.dateTo ===  "string"){
    dateTo = new Date(<string>discount.dateTo); //Line 368
} else {
    dateTo = discount.dateTo;
}

Den transpiler, gibt Sie Folgendes zurück:

[FULL_PATH]/Quotation.ts(362,37): error TS2345: Argument of type 'Date' is not assignable to parameter of type 'string'.
[FULL_PATH]/Quotation.ts(368,35): error TS2352: Neither type 'Date' nor type 'string' is assignable to the other.

Die Differenz von der Linie 362 und 368 sind zwei Fälle, die ich versucht, um das Problem zu beheben.

Habe ich dieses gimmic an anderer Stelle in den code ein und es funktionierte gut.

Ich bin mit der definition der Date-Konstruktor von lib.d....ts-Referenz :

new (): Date;
new (value: number): Date;
new (value: string): Date;
new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
(): string;
  • Der Fehler in Zeile #362 scheint offensichtlich zu sein... das argument des Konstruktors erwartet ein string oder eine number, sondern übergeben Sie es einer anderen Date. Es sei denn discount.dateFrom ist nicht dasselbe wie die variable deklariert an der Spitze?
  • Ich denke, war, dass die Linie 368 sollte das Problem beheben
  • Das problem mit der Zeile #368 ist, dass es gibt keine bekannte Umwandlung von Date zu string. Es ist wie Maschinenschrift, sagen Sie, dass Sie eine ungültige Stimmen. Wenn es möglich ist, zur Laufzeit, Art der discount.dateFrom oder discount.dateTo zu string, dann sollten Sie erklären, wie any statt als Date.
Schreibe einen Kommentar