Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

224
Vistas
Cómo obtener el primer número en valores de entrada de número de rango o indefinido

Quiero obtener el primer valor numérico de valores con número o rango indefinido.

Obviamente, esto falla para 0, que es falso. ¿Cuál es la expresión lógica para devolver esto?

 type Nomber = number | undefined function a_or_b_or_c_number_value_including_zero(a: Nomber, b: Nomber, c: Nomber) { return (a || b || c) } const test = (a: Nomber, b: Nomber, c: Nomber, expected: any) => { let got = a_or_b_or_c_number_value_including_zero(a, b, c) if (got !== expected) { console.log([a, b, c], 'fail', got, expected) } } test(1, 2, 3, 1) test(undefined, 1, 2, 1) test(0, 1, 2, 0) test(undefined, 0, 2, 0)
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede usar el operador coalescente nulo para verificarlo.

Según MDN :

El operador coalescente nulo ( ?? ) es un operador lógico que devuelve su operando del lado derecho cuando su operando del lado izquierdo es null o undefined y, de lo contrario, devuelve su operando del lado izquierdo.


Esto se puede usar en su código como se muestra a continuación.

 function a_or_b_or_c_number_value_including_zero(a: Nomber, b: Nomber, c: Nomber) { return (a ?? b ?? c); // Modified }

Esto hará que el código funcione de la manera que desea, lo que no hará que 0 sea igual a false .


Así es como funciona el código.

Código Descripción
a ?? Si a no es null o undefined , use a .
b ?? c Si b es null o undefined , use c , de lo contrario, use b .

En conclusión, el operador coalescente nulo es una característica útil para no hacer que 0 y "" sean iguales a false (mientras que || evalúa esos valores como false ).

about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Usar ? en lugar de ||

 function a_or_b_or_c_number_value_including_zero(a: Nomber, b: Nomber, c: Nomber) { return (a ?? b ?? c) }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar el operador coalescente nulo (??) para solucionar el error 0 por ser falso.

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda