Don P: mit Wert von radio-buttons rechnen

Beitrag lesen

Hallo,

var erg = + el1.value + + e2.value + + e3.value;

Wenn jemand in meinem Team das schreiben würde, würde ich auf die Barrikaden gehen.

Ich auch. Dafür habe ich ja auch nicht plädiert. Es sollte dann schon so notiert werden:

var erg = (+el1.value) + (+e2.value) + (+e3.value);
Das + ist hier genauso vielsagend wie ein unnötig gesprächiges parseInt/parseFloat, ohne aber den Lesefluss unnötig zu stören bzw. den Code aufzublähen.

Allerdings erkennen parseInt/parseFloat auch in etwas wie '123müll' oder '0.815schrott' noch gültige Zahlen, der simple "+"-Operator aber nicht. Je nachdem kann das eine oder andere Verhalten erwünscht sein.
Kann mir auch vorstellen, dass parseInt/parseFloat für dieses zusätzliche Feature auch dann Rechenzeit brauchen, wenn es gar nicht nötig wäre, weil gar kein "müll" oder "schrott" vorkommen kann, wie z.B. im value eines Radiobuttons.

Solange man nicht beim JS1K-Contest mitmacht und sich um jeden Byte Gedanken machen muss, sind Number und parseInt/parseFloat völlig in Ordnung und machen den Braten nicht fett.

Das ist wohl Geschmacksache. Ich persönlich bin für immer für die kürzeste Schreibweise, solange sie verständlich ist. Ob ein Statement wie

!isNaN( erg = (+el1.value) + (+e2.value) + (+e3.value) ) || alert('Der Variablen erg wurde ein ungültiger Wert zugewiesen');

noch verständlich ist, darüber lässt sich natürlich streiten. Mich mich ist es das. JSLint ist da anderer Ansicht.

Gruß, Don P