Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

110
Views
Cómo usar el encadenamiento opcional en Node.js 12

El encadenamiento opcional ( obj?.param1?.param2 ) parece ser una gran característica y realmente quería verlo implementado y finalmente deshacerme de ifs anidados, funciones arbitrarias y demás 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 aún no ha salido?

over 4 years ago · Santiago Trujillo
5 answers
Answer question

0

Actualmente, el encadenamiento opcional no es compatible con la versión 13 de Node.js y versiones anteriores. Será compatible con la versión 14 de Node.js y la mayoría de los navegadores, ya que se mueve a la Etapa 4. Actualmente, pocas plataformas lo admiten. Puede encontrar la lista de plataformas que admiten el encadenamiento opcional en el enlace proporcionado. Puede habilitar opcional usando la --harmony .

over 4 years ago · Santiago Trujillo Report

0

La especificación para la función de encadenamiento opcional acaba de ascender a la Etapa 4 (Terminada) el 22 de diciembre de 2019 . El Nodo 12 salió antes de que la especificación fuera definitiva, y también el Nodo 13, para el caso.

De acuerdo con node.green , el encadenamiento opcional será compatible a partir del Nodo 14, pero seguirá siendo necesario el indicador --harmony . (Esto parece entrar en conflicto con la descripción de Node de la bandera --harmony ; se supone que las funciones de envío de V8 no requieren la bandera, así que no estoy seguro de qué hacer con eso). Aún así, ya sea que necesite una bandera o no, No esperaría ver la función hasta el lanzamiento de Node 14 alrededor de abril de 2020 .

Si quiere jugar con encadenamiento opcional hoy, su mejor opción es usar TypeScript (que agregó encadenamiento opcional en la versión 3.7 ) o un preprocesador como Babel .

over 4 years ago · Santiago Trujillo Report

0

Pude usar nodejs v13.7.0 con el indicador --harmony.

nodo --harmony myCode.js

Dina

indefinido

indefinido

 //myCode.js const adventurer = { name: 'Alice', cat: { name: 'Dinah' } }; const catName = adventurer.cat?.name; console.log(catName); // expected output: Dinah const dogName = adventurer.dog?.name; console.log(dogName); //expected output: undefined console.log(adventurer.someNonExistentMethod?.()) //expected output: undefined
over 4 years ago · Santiago Trujillo Report

0

El encadenamiento opcional se implementará con Node.js v14, que se lanzará el 20/04/2020. Por ahora, puede usar Babel con @babel/plugin-proposal-opcional-chaining .

over 4 years ago · Santiago Trujillo Report

0

Si aún tiene este problema, verifique la versión del nodo que está usando node --version .

Si tiene nvm , asegúrese de estar usando una versión de nodo que implemente el operador que está dando un error.

p.ej

 nvm install 15.8 nvm use 15.8
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!