Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 26
Vorsicht
ОглавлениеWas geschieht, wenn Sie in einem Fall, in dem ein Integer erwartet wird, einen Dezimalbruch verwenden? Das hängt von der jeweiligen Situation ab. Nehmen wir an, Sie wollen aus einem String einen Teil-String entnehmen. Dabei werden Dezimalbrüche als Positionsangaben abgeschnitten, sodass sich der nächstkleinere Integer ergibt:
'Hello'.substring(0, 2.5) // Der String 'He'
Geben Sie aber einen Dezimalbruch als Index an, lautet das Ergebnis undefined:
'Hello'[2.5] // undefined
Es lohnt nicht, sich damit zu beschäftigen, wann ein Dezimalbruch anstelle eines Integers verwendet werden kann und wann nicht. Machen Sie in solchen Situationen deutlich, was Sie beabsichtigen, indem Sie ausdrücklich Math.trunc(x) oder Math.round.(x) aufrufen, um die Nachkommastellen abzuschneiden bzw. die Zahl auf den nächsten Integer zu runden.
Bei einer Division durch null lautet das Ergebnis Infinity oder -Infinity. Allerdings wird 0 / 0 zu NaN ausgewertet, der Konstante »not a number«. Manche Funktionen, die Zahlen generieren, geben NaN zurück, um auf eine fehlerhafte Eingabe hinzuweisen. Beispielsweise wird parseFloat('pie') zu NaN ausgewertet.