Warum sollte ich die meiste Zeit const
anstelle von let
in JavaScript verwenden? Wie wir wissen, wenn wir const
verwenden, können wir Wert später nicht neu zuweisen. Dann warum nicht let
anstelle von const verwenden?Warum sollte ich die meiste Zeit const anstelle von JavaScript verwenden?
Antwort
sollten Sie verwenden let
oder const
wie in Ihrem Code angebracht:
let
, wenn der Wert der Variable wird während der Code ändernconst
wenn es nicht (aber das ist eine Frage des Stils (abhängig von der Stilvorlage Ihres Projekts)
In der Praxis, wenn Sie die üblichen Regeln einhalten, um Ihre Funktionen klein zu halten und So ist es überraschend, wie oft es sich herausstellt, dass Sie const
verwenden, weil Sie am Ende nicht den Wert einer Variablen ändern müssen. (Na ja, es überrascht mich jedenfalls ...)
const
verwenden, wenn der variable's¹ Wert erreicht, ein paar Dinge zu ändern, nicht gemeint:
Es erzählt anderen Code zu lesen, die Sie beabsichtigen nicht, den Wert zu ändern.
Es gibt Ihnen einen schönen proaktiven Fehler, wenn Sie etwas tun, das den Wert der Variablen ändern würde, ohne dies zu tun.
Es gibt dem Optimierer der JavaScript-Engine einen Hinweis, dass Sie den Wert dieser Variablen nicht ändern werden. Während die Engine dies häufig durch statische Code-Analyse durchführen kann, erspart es die Verwendung von
const
das Problem und lässt es tun, wenn die statische Code-Analyse möglicherweise nicht zeigt, dass der Wert unverändert ist.
Wenn Sie den Fehler in # 2 oben erhalten, können Sie dann eine intelligente Entscheidung treffen: Sollten Sie es zu let
ändern, oder meinst du nicht, dass Variablenwert in erster Linie ändern?
¹ Ja, es ist lustig, den Begriff „Variable“ zu verwenden, um etwas zu beziehen, die nicht per Definition variieren. :-) Der Spezifikationsbegriff ist "bindend", aber ich wette, dass man in der alltäglichen Konversation nicht bald von Leuten über "Bindings" reden wird ... Also wird der Aggregatbegriff wahrscheinlich "variabel" bleiben, außer wenn wir uns spezifisch darauf beziehen können etwas als "Konstante".
- 1. Warum schlägt call_usermodehelper die meiste Zeit fehl?
- 2. Sollte ich anstelle von Joda-Zeit
- 3. Warum sollte ich BeginWrite anstelle von Write verwenden?
- 4. Warum sollte ich den Block Scope anstelle des Funktionsumfangs verwenden?
- 5. Android: Wann/warum sollte ich FrameLayout anstelle von Fragment verwenden?
- 6. Warum sollte ich operator.itemgetter (x) anstelle von [x] verwenden?
- 7. Warum sollte ich Runnable anstelle von Thread verwenden?
- 8. Warum sollte ich gRPC anstelle von IPC/Simple Websocket verwenden?
- 9. Warum sollte ich anstelle von WireMock MockWebServer verwenden?
- 10. Pandas löschen die 0 die meiste Zeit
- 11. Was sollte ich anstelle von isinstance() verwenden
- 12. Warum sollte ich den Verweis auf const in Constructor verwenden?
- 13. Kinect 2 - AcquireLatestFrame() nicht die meiste Zeit
- 14. MKPolygonRenderer füllt kein Polygon (die meiste Zeit)
- 15. AWS DynamoDB Abfrage stürzt die meiste Zeit
- 16. c Sprache - kann ich const uint32_t anstelle von #define verwenden
- 17. Warum sollte man REST anstelle von SOAP-basierten Diensten verwenden?
- 18. PHP oder Javascript, die ich verwenden sollte
- 19. Warum sollte ich die Elementinitialisierungsliste verwenden?
- 20. HTML5: Warum sollte ich Abschnitt oder Artikel anstelle von div
- 21. Warum sollte ich natives StyleSheet react verwenden?
- 22. Sollte ich einen Iframe anstelle von Ajax verwenden?
- 23. Welche CPU-Anweisungen verwenden die meiste Energie?
- 24. Warum sollte ich glBindAttribLocation verwenden?
- 25. Sollte ich UTC-Zeit mit enableSnapshots verwenden
- 26. Warum sollte ich LabelFor in MVC verwenden?
- 27. Warum sollte ich Boolean als Parameter anstelle von "boolean" übergeben?
- 28. RequestStack Wann sollte ich getMasterRequest anstelle von getCurrentRequest verwenden?
- 29. Wann sollte ich OpenStruct anstelle von Hash verwenden?
- 30. Sollte ich NSAsynchronousFetchRequest anstelle von NSFetchRequest immer verwenden?
Warum denken Sie "_most der Zeit sollte ich const anstelle von let_" verwenden? – csmckelvey
Ich nehme an, dass diese Frage geschlossen wird, also schnelle Antwort, Sie sollten nicht immer eine von ihnen verwenden, sollten Sie diese Typen als die Notwendigkeit der Variablen verwenden, const bedeuten, dass diese Variable in der App nicht änderbar sein wird, so Wenn Sie diese Variable sehen, wissen Sie, dass sie nicht geändert wird, und es ist eine Konstante, also bedeutet dies, dass dies ein allgemeiner Typ sein wird, der sich in der Zukunft ändern wird. Wenn Sie eine Variable benötigen, die geändert werden kann, verwenden Sie var, wenn Sie const nicht verwenden. –
'const' (falls zutreffend) erleichtert es jemandem, Ihren Code zu verstehen. Wenn man "const" sieht, weiß man ohne den Rest des Codes zu sehen, dass diese Variable nicht neu zugewiesen wird (obwohl sie immer noch mutieren könnte). Und wenn Sie keine Neuzuordnung wünschen, erhalten Sie als Programmierer einen nützlichen Fehler, wenn es passiert. – trincot