Hallo zusammen! Heute möchte ich meine Gedanken zum vieldiskutierten Thema JS0 und JSSugar mitteilen. Meiner Meinung nach liegt darin eine gewisse Gefahr, die möglicherweise für Milliarden von Website-Nutzern verborgen ist. Jetzt werde ich versuchen zu erklären, was ich meine.
Vielleicht gefällt Ihnen mein Standpunkt nicht, bitte, es gibt Kommentare auf dev.to, ich werde versuchen, alles zu beantworten.
Vielleicht habe ich etwas falsch verstanden oder irgendwo einen Fehler gemacht, aber ich werde es so gut wie möglich erklären.
Kurz gesagt, heute müssen wir uns bei Javascript darauf konzentrieren, es für den Benutzer akzeptabler zu machen, anstatt die Funktionalität um immer mehr Funktionen zu erweitern. Heutzutage schreiben beispielsweise alle Entwickler Code, der Typoskript, Webpack und eine Reihe anderer Ebenen durchläuft. Warum also nicht diese Vereinfachungslogik, wenn der Entwickler weniger Code schreibt, in zukünftigen Versionen von Ecmascript anwenden? Legen Sie beispielsweise eine solche Vision als Standard fest, dass wir Funktionen (z. B. forEach) wie lodash oder jQuery erstellen und nicht erweitern müssen, da dies bereits kompliziert ist.
Es gibt zum Beispiel JS0, es wird für diese Umgebung sein, in der alles kompiliert wird, und normale Entwickler können unter bestimmten Bedingungen forEach anstelle von for verwenden.
Hier liegt also das ernste Problem dieses Ansatzes. Es scheint geschrieben zu sein, dass dies „nicht der Geschwindigkeit zuliebe“ geschieht, aber tatsächlich versteht jeder, der jemals die Geschwindigkeit von JavaScript-Code in Benchmarks verglichen hat, worauf ich hinaus will.
Ja, jetzt geht es ans Üben:
Code #1
const a = [1,2,3,4,5] a.forEach((e)=>{ if(e === 4){ console.log(e) } })
Code #2
const a = [1,2,3,4,5] for (let index = 0; index < a.length; index++) { const e = a[index]; if(e === 4){ console.log(e) } }
Ergebnis:
Nehmen wir nun ein weiteres Beispiel:
Code #1
const a = [1,2,3,4,5]; const b = a.map((e)=>{ return e + 1; })
Code #2
const a = [1,2,3,4,5] const b = []; for (let index = 0; index < a.length; index++) { const e = a[index]; b.push(e + 1) }
Ergebnis:
Die Ergebnisse basieren auf Daten der Website https://jsbenchmark.com.
Worum es mir geht, ist, wenn wir uns vorstellen, dass sich der Hauptvektor für Ideenvorschläge seitens des TC39 (Technischer Ausschuss) und der Entwicklergemeinschaft im Allgemeinen in diese Richtung bewegen wird, wenn wir Lodash- und jQuery-Funktionen erstellen , und dies wird ein Standard in ECMAScript werden, dann wird es Funktionen wie forEach geben, die die Geschwindigkeit nicht verändern, sondern die Anwendung tatsächlich verlangsamen. Das ist natürlich eine Überlegung wert.
Hier wird sogar auf der offiziellen Folie (der Vogel flog weg) gezeigt, wohin sich der Vektor verschieben sollte, und das ist wahr und praktisch für die Benutzer.
Und es ist praktisch für Benutzer, eine schnelle Website zu verwenden, und nicht träge, aber für Entwickler „ausdrucksstärker“.
Deshalb würde ich es begrüßen, wenn solche Funktionen nicht im Vordergrund stünden, wenn dies plötzlich zum Standard wird. SOLID, DRY und andere Prinzipien verlangsamen bereits moderne Anwendungen und machen sie jetzt zum Standard.
Inspiriert wurde dieser Artikel natürlich durch meine Erfahrungen mit dem js-framework-benchmark Repository, was meiner Meinung nach sehr deutlich zeigt, warum Geschwindigkeit heute wichtig ist. Tatsächlich möchten die Leute, dass Websites schneller geladen werden – das ist eine Tatsache. Heutzutage sind die meisten modernen Frameworks und Bibliotheken tatsächlich langsam. Vielleicht kommt es jemandem sogar so vor, als sei Geschwindigkeit Mist, aber das ist nicht der Fall. Wenn man alles zusammenfasst, funktionieren Webanwendungen mit solchen „Optimierungen“ um ein Vielfaches schlechter. Daher denke ich, dass so etwas.
Es ist cool, dass heute solche Ideen herauskommen. Sie bringen JavaScript und die gesamte Webprogrammierung voran, aber es gibt auch objektive Dinge wie Geschwindigkeit, die nicht abgeschrieben werden sollten.
Das obige ist der detaillierte Inhalt vonWie die neuen Konzepte von JSSugar und JSre Websites verlangsamen können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!