var: Nihil privativum oder nihil negativum?

Beitrag lesen

Hallo Gunnar

Ja klar. Ausgehend von der Prämisse, dass 0 = _nichts_ und damit _false_ ist, ergibt !n bei n = 0 natürlich true.

Wenn man aber davon ausgeht, dass 0 nicht _nichts_ ist, sondern einen Wert darstellt, nämlich 0, dann würde !n bei n = 0 false ergeben.

Und das wäre _dann_ auch das gewünschte Ergebnis, wenn die Fragestellung nicht lautet:

Ist der Wert true oder false? - Sondern wenn die Frage ist, ob überhaupt ein Wert angegeben wurde.

( 0 ) ist gleich (   ) nach Stand der Dinge, aber das kann einen Unterschied machen.

Aber hey, ich bin nicht so ein Experte wie du, vielleicht mache ich das ja auch völlig falsch und es gibt eine andere Art zu überprüfen, ob bei einer Funktion eventuell kein Parameter eingegeben wurde, als zu schreiben...

function myFunction ( param ) {  
  
  if ( !param ) { /* ... */ }  
  
}

...was eben dann unerwünschterweise zu !param = true führt, wenn der eingegebene Wert für param = 0 ist, weil man diesen Wert zum Beispiel für die Positionsbestimmung in einem String oder Array benötigt.

Gruß

var