Ich habe in letzter Zeit viel ES6-Code für io.js geschrieben. In der Natur gibt es nicht viel Code, von dem ich lernen kann. Ich habe also das Gefühl, meine eigenen Konventionen zu definieren.
Meine Frage ist, wann man constvs benutzt let.
Ich habe diese Regel angewendet: Wenn möglich, benutze const. Nur verwenden, letwenn Sie wissen, dass sich der Wert ändern muss. (Sie können jederzeit zurückgehen und a constin a ändern , letwenn sich später herausstellt, dass Sie den Wert ändern müssen.)
Der Hauptgrund für diese Regel ist, dass es einfach ist, sie konsistent anzuwenden. Es gibt keine Grauzonen.
Die Sache ist, wenn ich diese Regel anwende, sind in der Praxis 95% meiner Erklärungen const. Und das sieht komisch für mich aus. Ich benutze es nur letfür Dinge wie iin einer forSchleife oder gelegentlich für Dinge wie angesammelte Fibonacci-Summen (was im wirklichen Leben nicht besonders häufig vorkommt). Das hat mich überrascht - es stellte sich heraus, dass 95% der 'Variablen' in meinem ES5-Code bis jetzt für Werte waren, die nicht variieren. Aber constüberall in meinem Code zu sehen, fühlt sich irgendwie falsch an.
Meine Frage lautet also: Ist es in Ordnung, so constviel zu verwenden? Sollte ich wirklich Dinge tun wie const foo = function () {...};?
Oder sollte ich constfür solche Situationen reservieren, in denen Sie ein Literal am Anfang eines Moduls fest programmieren - wie Sie es in Großbuchstaben tun const MARGIN_WIDTH = 410;?
function foo() {...}ist besser als<anything> foo = function() {...}
function foo() {...}die beim Debuggen zu geringfügigen Verwirrungen führen kann. Außerdem bedeutet seine Existenz, dass wir zwei Konstrukte haben, die dasselbe tun, aber eines von ihnen funktioniert nur in einem sehr spezifischen Kontext. (Sie können einen Funktionsausdruck überall dort verwenden, wo ein Ausdruck existieren kann, aber Sie können nur eine Funktionsdeklaration auf Anweisungsebene verwenden.) Wenn Sie die Kürze bevorzugen, besteht das Problem möglicherweise nur darin, dass die Funktionsausdruckssyntax das ganze Wort verwendet function.
constso viel zu verwenden.