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.
||
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
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