Struppi: Wo lernt man denn sowas?

Beitrag lesen

Mit anderen Worten: mit || kann man nicht einen logisch falschen, aber definierten Wert wie '0' übergeben. Dein Code macht nicht (immer) das, was du erwartest. Dies ließe sich womöglich von einem bösartigen Benutzer ausnutzen. Diese Absätze sind also keine Korinthenkackerei, sondern ein ernster Sicherheitshinweis.

Naja, wenn bei einer falschen Eingabe der Defaultwert genommen wird, halte ich das für Sicherheitstechnisch unbedenklich. Wenn der Defaultwert ein Sicherheitsproblem wäre, dann liegt das Problem dort und nicht daran, dass der || Operator auch auf die Zahl null matcht.

Allerdings muss Gary natürlich Wissen, dass er mit || keine Null mehr eingeben kann. (Was aber bei der Anrede verschmerzbar ist)

Aber auch, dass der // Operator relativ neu ist (5.10?) und in seinem Fall auch nur die halbe Lösung ist, da jetzt ein Leerstring eingeben werden könnte, was u.U. auch nicht erwünscht ist.

Insofern würde ich an seiner Stelle unbedingt den Oder Operator verwenden, da er in dem Fall richtiger ist.

Struppi.