Le chaînage optionnel ( obj?.param1?.param2
) semble être une excellente fonctionnalité et je voulais vraiment le voir implémenté et enfin se débarrasser des if imbriqués, des fonctions arbitraires et de ce qui ne l'est pas pour une opération aussi simple.
Mais il y a un problème, ça ne marche pas. J'ai mis à jour le nœud 12 et j'obtiens toujours une erreur:
var dude = res?.param?.params[0]
SyntaxError: Unexpected token '.'
ou
var dude = res.param?.params[0]
SyntaxError: Unexpected token '.'
Quel est le problème?
Dois-je changer une configuration de langue ou télécharger une bibliothèque pour activer cette fonctionnalité? Ou n'est-il simplement pas encore sorti?
javascript
node.js
almarc
la source
la source
Stage 4
. Node.js ne prend pas encore en charge cela. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Réponses:
Le chaînage facultatif n'est actuellement pas pris en charge dans la
Node.js
version 13 et ci-dessous, il sera pris en charge à partir de laNode.js
version 14 et de la plupart des navigateurs lors de son déplacement versStage 4
. Actuellement, peu de plates-formes le prennent en charge, vous pouvez trouver la liste des plates-formes prenant en charge le chaînage facultatif dans le lien donné . Vous pouvez activer l'option facultative à l'aide d'un--harmony
indicateur.la source
La spécification de la fonction de chaînage facultative vient d'être promue stade 4 (terminé) le 22 décembre 2019 . Le nœud 12 est sorti avant que la spécification ne soit définitive - tout comme le nœud 13, d'ailleurs.
Selon node.green , le chaînage facultatif sera pris en charge à partir du nœud 14, mais nécessitera toujours l'
--harmony
indicateur. (Cela semble entrer en conflit avec la description de Node--harmony
drapeau - les fonctionnalités d'expédition du V8 ne sont pas censées nécessiter le drapeau - donc je ne sais pas quoi en faire.) Pourtant, qu'il ait besoin d'un drapeau ou non, je ne le ferais pas '' Ne vous attendez pas à voir la fonctionnalité jusqu'à la sortie de Node 14 vers avril 2020 .Si vous voulez jouer avec le chaînage facultatif aujourd'hui, votre meilleur pari est d'utiliser TypeScript (qui a ajouté le chaînage facultatif dans la version 3.7 ) ou un préprocesseur comme Babel .
la source
J'ai pu utiliser nodejs v13.7.0 avec le drapeau --harmony.
la source
Le chaînage facultatif sera mis en œuvre avec la
Node.js
v14, qui sera publiée le 20/04/2020. Vous pouvez maintenant utiliserBabel
avec@babel/plugin-proposal-optional-chaining
.la source