El encadenamiento opcional ( obj?.param1?.param2) parece ser una gran característica y realmente quería verlo implementado y finalmente deshacerme de los if anidados, las funciones arbitrarias y lo que no es para una operación tan simple.
Pero hay un problema, no funciona. Actualicé al Nodo 12 y sigo recibiendo un error:
var dude = res?.param?.params[0]
SyntaxError: Unexpected token '.'
o
var dude = res.param?.params[0]
SyntaxError: Unexpected token '.'
¿Cuál es el problema?
¿Necesito cambiar alguna configuración de idioma o descargar una biblioteca para habilitar esta función? ¿O simplemente no ha salido todavía?
javascript
node.js
almarc
fuente
fuente

Stage 4. Node.js aún no admite esto. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Respuestas:
El encadenamiento opcional no se admite actualmente en la
Node.jsversión 13 y, a continuación, se admitirá desde laNode.jsversión 14 y la mayoría de los navegadores a medida que se mueveStage 4. Actualmente, pocas plataformas lo admiten. Puede encontrar la lista de plataformas que admiten el encadenamiento opcional en el enlace dado . Puede habilitar opcional usando la--harmonybandera.fuente
La especificación para la función de encadenamiento opcional acaba de ser promovida a la Etapa 4 (Finalizada) el 22 de diciembre de 2019 . El nodo 12 salió antes de que la especificación fuera final, y también el nodo 13, para el caso.
De acuerdo con node.green , se admitirá el encadenamiento opcional a partir del Nodo 14, pero aún requerirá la
--harmonybandera. (Esto parece estar en conflicto con la descripción de Node de la--harmonybandera ; se supone que las características de envío de V8 no requieren la bandera, así que no estoy seguro de qué hacer con eso). Sin embargo, si necesita una bandera o no, no lo haría. No espere ver la función hasta el lanzamiento del Nodo 14 alrededor de abril de 2020 .Si quieres jugar con el encadenamiento opcional hoy, tu mejor opción es usar TypeScript (que agregó el encadenamiento opcional en la versión 3.7 ) o un preprocesador como Babel .
fuente
Pude usar nodejs v13.7.0 con --harmony flag.
fuente
El encadenamiento opcional se implementará con
Node.jsv14, que se lanzará el 20/04/2020. Por ahora, puede usarBabelcon@babel/plugin-proposal-optional-chaining.fuente