Estoy revisando algún código alrededor de una llamada de confirmación de JavaScript. Según tengo entendido, confirme que devuelve verdadero o falso. El desarrollador con el que estoy trabajando sigue haciendo lo siguiente:

function askTheUser(question, myCallback) {
  var result = confirm(question);
  myCallback(result ? 2 : 1);
}

La línea que me lanza para un bucle es el result ? 2 : 1. ¿Por qué alguien haría eso en lugar de solo myCallback(result);

¿Hay algo relacionado con las devoluciones de llamada que desconozco? Solo estoy interesado en devolver el verdadero o falso asociado con si un usuario confirmó la pregunta o no. Lo sigo mirando. Simplemente se ve incorrecto.

Gracias.

0
user3284007 1 sep. 2014 a las 01:37

3 respuestas

La mejor respuesta

result ? 2 : 1 significa que si result es verdadero, entonces se devuelve 2; de lo contrario, 1

Él / Ella debe tener una razón especial para hacerlo. Intente buscar el código donde se está utilizando.

0
user3995474user3995474 31 ago. 2014 a las 21:42

No es incorrecto , solo está convirtiendo true/false en 2/1. Presumiblemente tienen alguna razón para hacerlo.

1
T.J. Crowder 31 ago. 2014 a las 21:40

Sí tienes razón. Simplemente debería ser (resultado). La devolución de llamada puede asignar 1, 2 o lo que quiera, ¡si es realmente necesario hacerlo! Simplemente va a invocar la devolución de llamada con el parámetro, no tiene nada de especial

0
ne1410s 31 ago. 2014 a las 21:40