Der Martin: [] + "" bzw. [] in array.reduce

Beitrag lesen

Hallo miteinander,

TypeScript ist, wie der Name sagt, eine Sprache mit getypten Variablen,

dieser Satz ließ mich stutzen. "getypt"? Klingt eigenartig.

Und trotzdem meckert der TypeScript-Compiler, im Gegensatz zum gestrigen Beispiel [] + 5 hierbei nicht:

console.log(typeof (5 + '5'));

Das ist eine Frage der Definition. Gibt die Spezifikation von Typescript[1] her, dass Strings implizit in Zahlen konvertiert werden, wenn der Kontext das erfordert? Dann wäre obige Anweisung in Ordnung und müsste Number ausgeben - auch wenn das dem Prinzip von eindeutigen Datentypen ein bisschen widerspricht.

In C gibt es ja auch unterschiedliche Integertypen, die sich in der Wortbreite und im Vorhandensein eines Vorzeichens unterscheiden. Aber da sie semantisch gesehen alle typgleich sind, sind sie auch untereinander zuweisungskompatibel. Auch wenn manche Compiler maulen, wenn man signed und unsigned mischt ...

Einen schönen Tag noch
 Martin

--
Wer nicht genießt, wird ungenießbar.
(Mottospruch auf einem T-Shirt)

  1. die ich nicht kenne ↩︎