lypô: if-else Syntax

Beitrag lesen

1 == 1.0 gibt true, 1 === 1.0 gibt false, weil eine ganze Zahl (integer) nicht typgleich zu einer reellen Zahl (float) ist.

Nur damit hier keine Verwirrung ensteht (du hast ja bereits auf den Unterschied zwischen Java und Javascript hingewiesen):

In Javascript evaluiert 1 === 1.0 zu true.

... weil Javascript den Datentyp "Number" nicht weiter differenziert. Es gibt zwar Ansätze wie parseInt() oder parseFloat(), aber deren Unterschied besteht hauptsächlich darin, was sie in dem als String vorliegenden ausgeschriebenen Zahlenwert als gültig oder nicht gültig betrachten. Das Ergebnis ist in beiden Fällen Number - nur dass es bei parseInt() "zufällig" eine Ganzzahl ist.

Es spricht auch vieles dafür, dass ein Number-Typ in Javascript intern als Ganzzahl (integer) gespeichert wird, solange das vom Wertebereich her möglich ist. Aber die Umwandlung zwischen den beiden Formaten erfolgt automatisch bei Bedarf, und als User/Programmierer hat man keinen direkten Einfluss darauf.

Puh - jetzt wird's ganz präzise. Mit parseInt() hatte ich mal was. Das ist aber eeewig her und sooo viel programmiere ich nun auch nicht. Bald wird's sich ändern.

vG und massenhaft Dankeschön an Alle
...lypô