Hallo,
1 == 1.0 gibt true, 1 === 1.0 gibt false, weil eine ganze Zahl (integer) nicht typgleich zu einer reellen Zahl (float) ist.
in Java mag das so sein.
Nur damit hier keine Verwirrung ensteht (du hast ja bereits auf den Unterschied zwischen Java und Javascript hingewiesen):
In Javascript evaluiert1 === 1.0
zutrue
.
... 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.
Ciao,
Martin
Wieso heißen die Dinger eigentlich Anrufbeantworter? Eigentlich sind es doch nur Anrufanhörer.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(