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.js
versión 13 y, a continuación, se admitirá desde laNode.js
versió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--harmony
bandera.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
--harmony
bandera. (Esto parece estar en conflicto con la descripción de Node de la--harmony
bandera ; 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.js
v14, que se lanzará el 20/04/2020. Por ahora, puede usarBabel
con@babel/plugin-proposal-optional-chaining
.fuente