Ich habe kürzlich begonnen, JS Promises in einem Projekt zu verwenden. Ich habe festgestellt, dass jedes Mal, wenn ich .catch
meine JS linter beschwert. Es läuft und tut was es sollte, aber ich habe die ECMAScript spec nachgeschlagen und es sieht wirklich so aus, als ob es richtig ist: Seit catch
is a keyword kann es nicht als ein Bezeichner verwendet werden. Wie ich verstehe Methodennamen Bezeichner sind, so ist dies ungültig:Ist der Name der Fangmethode von JS Promises/A + ungültig, da es sich um ein JS-Schlüsselwort handelt?
Promise.reject("Duh").catch(alert);
Es sollte dies stattdessen sein:
Promise.reject("Duh")['catch'](alert);
Was bin ich?
Browser, die nicht der ecmaScript-Spezifikation folgen, fühlen sich möglicherweise anders an als die, die dies tun. – dandavis
Der Intermediate klagt wahrscheinlich, weil er versucht, ES3-kompatibel zu sein. –
Zugehörig: [Browserunterstützung für die Verwendung eines reservierten Wortes als Eigenschaftsname in JavaScript] (http://stackoverflow.com/q/5306315/218196) ... Kangax: http://kangax.github.io/compat- table/es5/# Reserved_words_as_property_names –