Tach!
Der Leerstring ist der Default-Wert, und es ist eine gute Idee, den Default für eine Variable an dieser Stelle festzulegen und nicht als 2. Parameter eines prompt zu tarnen.
Das MDN berichtet noch aus der Vergangenheit, dass ohne diesen zweiten Parameter der IE 7/8 den Text "undefined" angezeigt hat. Zumindest aus historischer Sicht ist die Übergabe eines Leerstrings nicht unsinnig.
BLÖD nur, dass prompt bei Klick auf Abbrechen den Wert
null
zurückgibt, und nicht den Defaultwert.
Nicht unbedingt, denn das ist nur der Default-Anzeigewert. Den kennt man ja im Programm, und kann ihn sich zur Not anderenorts merken, wenn er benötigt wird. Aber ohne die Rückgabe von null beim Abbruch, könnte man nicht unterscheiden zwischen Abgebrochen oder Bestätigt.
Das zu diskutieren ist aber alles zu weit gehend für diesen Artikel. Insofern: Default an der Variablen festlegen.
Find ich auch. Ob man den Defaultwert als Erstbelegung von name
oder als Literal übergibt, kann man zwar durchaus abwägen. Fürs Beispiel ist das aber unerheblich. In der Praxis wird man auch nicht zu prompt() greifen, als Einstieg aber durchaus vertretbar. An der Stelle soll was anderes gezeigt werden und nicht Best Practice von Werteingaben. Das wäre viel zu umfangreich und setzt erst die Kenntnis vom Zugriff aufs DOM voraus.
dedlfix.