Die optionale Verkettung ( obj?.param1?.param2
) scheint eine großartige Funktion zu sein, und ich wollte unbedingt, dass sie implementiert wird, und verschachtelte ifs, beliebige Funktionen und was nicht für eine so einfache Operation.
Aber es gibt ein Problem, es funktioniert nicht. Ich habe auf Knoten 12 aktualisiert und erhalte immer noch eine Fehlermeldung:
var dude = res?.param?.params[0]
SyntaxError: Unexpected token '.'
oder
var dude = res.param?.params[0]
SyntaxError: Unexpected token '.'
Was ist das Problem?
Muss ich eine Sprachkonfiguration ändern oder eine Bibliothek herunterladen, um diese Funktion zu aktivieren? Oder ist es einfach noch nicht raus?
javascript
node.js
almarc
quelle
quelle
Stage 4
. Node.js unterstützt dies noch nicht. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Antworten:
Die optionale Verkettung wird derzeit in
Node.js
Version 13 nicht unterstützt und wird abNode.js
Version 14 und den meisten Browsern beim Verschieben unterstütztStage 4
. Derzeit unterstützen nur wenige Plattformen dies. Die Liste der Plattformen, die optionale Verkettungen unterstützen, finden Sie unter dem angegebenen Link . Sie können optional mit--harmony
flag aktivieren .quelle
Die Spezifikation für die optionale Verkettungsfunktion wurde am 22. Dezember 2019 auf Stufe 4 (Fertig) hochgestuft . Knoten 12 kam heraus, bevor die Spezifikation endgültig war - und Knoten 13 auch.
Laut node.green wird die optionale Verkettung ab Knoten 14 unterstützt, erfordert jedoch weiterhin das
--harmony
Flag. (Dies scheint im Widerspruch zu Node's Beschreibung der--harmony
Flagge zu stehen - für die Versandfunktionen von V8 ist die Flagge nicht erforderlich - daher bin ich mir nicht sicher, was ich davon halten soll.) Ob es eine Flagge benötigt oder nicht, würde ich nicht tun. Ich erwarte das Feature erst mit der Veröffentlichung von Node 14 um April 2020 .Wenn Sie heute mit optionaler Verkettung spielen möchten, verwenden Sie am besten TypeScript (das in Version 3.7 eine optionale Verkettung hinzugefügt hat ) oder einen Präprozessor wie Babel .
quelle
Ich konnte nodejs v13.7.0 mit dem Flag --harmony verwenden.
quelle
Die optionale Verkettung wird mit
Node.js
Version 14 implementiert , die am 20.04.2020 veröffentlicht wird. Inzwischen können SieBabel
mit verwenden@babel/plugin-proposal-optional-chaining
.quelle