Heim >Web-Frontend >js-Tutorial >Erklären Sie, als wäre ich Ihr Junior: Warum? Gut?
Ich schreibe zu diesem Zeitpunkt schon fast zwei Jahrzehnte lang JS, aber ich kann immer noch nicht verstehen, warum? ist nicht der Anfang eines Anti-Musters, insbesondere für Methodenaufrufe.
Ich habe den Beitrag gesehen
Und einer, der mir ins Auge fiel, war Nummer 2 „Optionale Verkettung mit Funktionsaufrufen“:
const user = { getName: () => 'Alice', }; console.log(user.getName?.()); // Alice console.log(user.getAge?.()); // undefined
Was schreit: „Ich kenne die Schnittstelle zu meinen Objekten nicht und es ist mir egal.“
Sie sollten sich auf jeden Fall um die Schnittstelle zu Ihren Objekten kümmern.
Ich sehe fast ein Argument für Robustheit, wenn sich eine Bibliotheks-API ändert, aber nein, wenn Sie eine Bibliothek verwenden, kennen Sie die Schnittstelle zu den Objekten, korrigieren Sie Ihren Code.
Es scheint einfach ein gewaltiger Insektenattraktor zu sein.
Sie möchten nie, dass etwas undefiniert ist. Oder habe ich ein Memo dazu verpasst?
Und das gilt gleich doppelt für Methoden. Wenn zwei Objekte nicht das gleiche Verhalten aufweisen, müssen sie als unterschiedliche Typen behandelt werden und nicht nur mit den Schultern zucken und sagen: „Es wird alles gut.“
Ist das Testen auf Null heutzutage illegal? Ich weiß, dass Null als Milliarden-Dollar-Fehler bezeichnet wurde, aber das wird durch einen Optionstyp (wie Maybe in Haskell) gelöst, nicht durch das, was wie das Gegenteil aussieht.
Ein Optionstyp weist Sie darauf hin, dass dies etwas sein könnte, das null sein könnte. Gehen Sie also vorsichtig vor. Es verbirgt die Tatsache nicht, etwa ?. tut.
Trotz alledem bin ich froh, dass ich mich nicht mit der Vorstellung auseinandersetzen kann, dass ?. ist nur ein Fehler, wenn es darum geht, auf Null zu prüfen, oder es ist einfach nur ein schlechtes Design, wenn es um Undefiniert geht.
Was ist ein gutes Muster, d. h. eines, das Fehler reduziert, das Sie verwenden können?.?
Das obige ist der detaillierte Inhalt vonErklären Sie, als wäre ich Ihr Junior: Warum? Gut?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!