Jump to content
Melde dich an, um diesem Inhalt zu folgen  

Wieso "var null = NULL;"

Empfohlene Beiträge

Hallo zusammen,

bisher habe ich keinerlei befriedigende Antwort darauf gefunden, wieso ich immer wieder über die Codezeile stolpere:

var null = NULL;

Wieso sollte man so etwas tun? Hat das irgendeinen verborgenen Sinn oder ist das nur darauf zurückzuführen, dass man gern alles, was man häufiger benutzt in Variablen verpackt? Oder spart man sich durch die Zeile lediglich den Druck auf die Shift-Taste?

Vielen Dank schonmal,

Martin

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Welche Sprache?

Edit:
So ein Konstrukt kenne ich nur, wenn man einen definierten Wert für "leer" haben möchte. Angenommen, du programmierst ein Schachspiel und ein leeres Feld auf dem Brett soll einen definierten Wert haben. Damit alle leeren Felder den selben definierten Wert haben, legt man so einen Wert fest da du aber weder die Sprache mitgeteilt hast, noch der Kontext, wo diese Variable verwendet wird, ist das nur reine Spekulation.

bearbeitet von Whiz-zarD

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Minute schrieb Klotzkopp:

Konkret ist hier wohl das Problem, dass die Zend Engine nicht damit zurecht kommt, wenn man NULL als "By-Reference"-Argument übergibt.

Das hab ich auch grad gefunden, großartige Sache. Zum Glück ist es dokumentiert, da käme sonst keiner drauf :D

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Macht für mich auf dem ersten Blick keinen Sinn. Wohl eher eine interne Geschichte, wie @Klotzkopp schon schreibt. PHP und JavaScript sind ja Sprachen, die gerade von Anfängern sehr beliebt ist und da werden gerne mal Sachen kopiert, ohne zu wissen, was das eigentlich soll. So ein Konstrukt ist höchstens auch nur bei dynamisch typisierten Sprachen möglich. In typisierten Sprachen, wie z.B. C# oder Java ist sowas nicht möglich.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich finds jetzt leider nicht mehr, wo ich bei JS drübergestolpert bin, kann aber gut sein, dass das, wie Whiz erwähnt hat, bei JS nur einmalig von nem Anfänger ohne Sinn übernommen wurde. Falls ichs nochmal finden sollte, werd ichs auf jeden Fall nochmal posten. Aber dass es da tatsächlich ne Begründung für PHP gibt, find ich grade wirklich faszinierend. Ich muss mir den Code vom Zend mal anschauen. Ich kanns mir grade nicht erklären, wie man programmieren müsste, damit es solch eine Einschränkung gibt.

Aber vielen Dank schonmal für eure Zeit, die Frage beschäftigte mich jetzt schon ein paar Tage ;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 3 Stunden schrieb MartinGrupinski:

Sowohl in PHP ist mir das untergekommen, als auch in JavaScript.. Hier zB in php.

Wirklich Sinn macht das nicht. Der Entwickler sagt, dass die Variable $null den Wert NULL hat und setzt dann überall $null statt NULL ein. Meiner Meinung nach ist das nicht wirklich nötig, da sich der Wert von $null ja niemals ändert (außer man möchte irgendwann mal 0 oder void oder was auch immer verwenden, dann ist die Bezeichnung der Variable $null aber nicht richtig). Vielleicht möchte er damit darauf hinweisen, dass die Parameter mit Absicht NULL sind oder er hat mit anderen Werten herumgespielt (und die Variable dann einfach so genannt). Aber dann würde ich ein Kommentar bevorzugen.

Viel schöner, sauberer und lesbarer wäre etwas wie folgt:

$socket_write = NULL;
$socket_except = NULL;

...

socket_select($changed, $socket_write, $socket_except, 0, 10);

/Edit: Die Parameter "write" und "except" von socket_select erwarten jeweils einen Array mit Sockets. ich kann mir sehr gut vorstellen, dass er zum Testen des Codes irgenwann mal statt die Werte NULL tatsächlich Arrays mit Sockets verwendet hat. Aber im "finalen" Script ist das anscheinend nicht mehr nötig und es reicht NULL aus, also es müssen keine Sockets über blockierte Schreibvorgänge und Ausnahmebehandlungen überwacht werden. Also hat er die Variable einfach umbenannt und/oder auf NULL gesetzt.

bearbeitet von pr0gg3r

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Melde dich an, um diesem Inhalt zu folgen  

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung