Kann nicht mit "lassen" - Schlüsselwort in Safari Javascript?

Verstehe ich nicht, am besten mit "lassen" keyword...

  • In IE11 und Chrome45 ich kann es feine
  • In Safari8.0.4, wie in älteren Versionen von Chrome, gibt es den Fehler "unerwartete Verwendung des reservierten Wortes 'lassen'"
  • In Firefox das Schlüsselwort let kann nur innerhalb der <script type="application/javascript;version=1.7"/>, aber dieses script type gar nicht erkannt, wie Javascript, IE11, Chrome45, Safari8.

Hier ein JSFiddle zeigt es in Aktion: https://jsfiddle.net/p6cgtyg6/1/

So, ich bin nicht dagegen, dass die Benutzer verwenden moderne Versionen Ihrer Browser.

Ist und ich nicht Verstand, ohne Safari, wenn es ehrlich ist, keine version von Safari unterstützt dieses Schlüsselwort. (Ist das wirklich wahr? Warum alle verbringen Ihre ganze Zeit ergreifend über den IE beim Safari scheint so viel schlimmer in ES6 Bedingungen? Habe ich etwas übersehen?).

Aber wie sollte ich zulassen "lassen" arbeiten in Firefox zwar nicht die Verhinderung von Chrome/IE? (Ich habe noch nicht gefunden, die links von Menschen, die ergreifend über, wie Firefox script-tag verhält sich anders als Chrome, und ich hätte erwartet, dass mehr Beschwerden, so dass ich vermute, ich muss etwas verpasst haben offensichtlich...)

  • Warum ist die mangelnde Unterstützung lassen ein Problem? ECMA-262 6. Edition ist immer noch nur ein Entwurf, viele seiner Funktionen werden nicht von allen Browsern unterstützt. Es gibt einige ES5-features noch nicht unterstützt.
  • "for (var i=0; i<c.length; i++) { $("<span/>").text(c[i].Titel).klicken Sie auf(Funktion() { DoStuff(c[i]); }).appendTo(p); }" -- dieser code verhält sich falsch. Die einfachste und sauberste codefix ist die Verwendung von "lassen" im inneren der for-Schleife. Ich nicht wirklich wollen, zu schreiben yuckier code wird nun, wenn ES6 ist kurz um die Ecke und wird meist unterstützt ad wird das problem lösen schön...
  • keine Notwendigkeit für let in diesem Fall, obwohl. viele einfachere Wege, anstatt das hinzufügen der Abhängigkeit von einer 6=>5-compiler.
  • Die Beschränkung der Barrierefreiheit auf Ihrer Website ein paar die meisten aktuellen browser-Versionen, weil Sie möchten, verwenden Sie ein neues feature einen Entwurf für eine Spezifikation ist Ihr Vorrecht natürlich. Aber Ihr Dilemma ist komplett selbst auferlegt. 😉
  • es ist ein Problem, weil die Zeit vergeht, ES6 ist jetzt standard, und safari ist der neue IE. so die Frage bleibt immer noch und ist nicht mehr selbst-auferlegt.
  • die Verwendung von let ist völlig überflüssig, es gibt keinen guten Grund, es zu benutzen anstelle von var. Es wurde eingeführt, um den Komfort bei der transpiling anderen Sprachen zu javascript. Javascript-Anwendungen mit über 100.000 Zeilen wurden geschrieben, ohne lassen, es ist unnötig (geschrieben mit Safari 10.0, unterstützt lassen). 😉
  • so selbstgefällig wie du willst, let ist hier und es gibt nichts überflüssiges oder unnötiges über die Verwendung einer Sprache-Funktion, wenn die situation es erfordert.
  • müssen persönlich. Ob ein bestimmtes feature oder nicht sollte auf der Basis rationaler Abwägung der vor-und Nachteile. Der einzige Grund, warum die OP hat vorgeschlagen, es zu benutzen ist "ich möchte" - (daher meine Verwendung des unentgeltlich). Aber es gibt echte Nachteile, die aus mangelnder browser-Unterstützung. Einige Komponenten sind möglicherweise nicht in der Lage, ein upgrade auf einen browser, der unterstützt lassen, es ist also nicht unbedingt der user ist Schuld, dass Sie mit einem älteren browser.
  • Sie machte Sie es persönlich, indem Sie annehmen, die Sie am besten kannte und in der Annahme gab es keine unentgeltliche verwendet für let. das war nie und ist noch immer nicht in den Geltungsbereich der Frage.

Schreibe einen Kommentar