• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

236
Vistas
Operador ternario, atajo para devolver la condición marcada si es verdadero?

Estoy buscando para ver si hay una notación aún más corta para una notación ya relativamente compacta. Parece una pieza de sintaxis que existiría para un patrón bastante común en el código.

Aquí, el operador ternario devuelve props.initialValues.time si es verdadero y algo más si es falso:

 props.initialValues.time ? props.initialValues.time : props.startTime

Pero, ¿por qué especificar la condición verificada dos veces en este caso? Me encontré tratando de escribirlo de esta manera: (tal vez lo he visto en otro lugar hace un tiempo o algo así)

 props.initialValues.time ? : props.startTime

Lo que quiero decir es que devuelva la condición marcada si es verdadera; de lo contrario, devuelva props.startTime. ¿Existe una sintaxis similar para este propósito en JS o en cualquier otro idioma? Verificado en Google con poca suerte, tal vez estoy redactando mi pregunta incorrectamente, o tal vez en realidad no existe.

almost 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

|| se puede usar como atajo: se evaluará hacia el lado izquierdo si el lado izquierdo es verdadero, y hacia el lado derecho de lo contrario.

 props.initialValues.time || startTime

En la sintaxis moderna, sería preferible usar ?? si el lado izquierdo será específicamente indefinido o nulo :

 props.initialValues.time ?? startTime
almost 3 years ago · Juan Pablo Isaza Denunciar

0

Si está verificando si la propiedad existe, puede usar el operador de fusión nulo:

 props.initialValues.time ?? props.startTime 

 let a = 5 let b = 6 console.log(a ?? b) console.log(a ? a : b)

almost 3 years ago · Juan Pablo Isaza Denunciar

0

a ? a : b se puede cambiar a a || b

a ? b : a se puede cambiar a a && b

Entonces para tu caso:

 props.initialValues.time || props.startTime
almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda