Etwas gebasteltes mit JavaScript brachte mich gestern zum verzweifeln:
xy = parseInt( 'asd' ); alert( xy ); // NaN alert( typeof( xy ) ); // number - WTF? if( xy == NaN ) { alert('NaN') }; // nothing
if( xy == 'NaN' ) { alert('NaN') }; // nothing
Richtige Lösung:
if( isNaN( xy ) ) { alert('NaN') }; // NaN
Dann muss ich aber den Typeconvert immer noch machen. Vorher oder nachher is eigentlich wurst, aber ich kann den convert ja in den (oben optionalen) else-Zweig packen oder performancemäßig auf
if( !isNaN( xy ) ) { z = parseInt( xy ); };
umstellen. Allerdings gibts hier dann natürlich wieder andere Dinge, z.B. sollte z vorher initialisiert sein…