javascript - usar - que es if else en programacion
Usando && ''s cortocircuito como una declaraciĆ³n if? (5)
Debes tener cuidado porque este cortocircuito se puede eludir si hay un ||
en el condicional:
false && true || true
> true
Para evitar esto, asegúrese de agrupar los condicionales:
false && (true || true)
> false
Vi esta línea en el código fuente jQuery.form.js
:
g && $.event.trigger("ajaxComplete", [xhr, s]);
Mi primer pensamiento fue ¿verdad?
Mi siguiente pensamiento fue: no puedo decidir si eso es feo o elegante.
No soy un gurú de Javascript de ninguna manera, por lo que mi pregunta es doble. Primero quiero confirmar que lo entiendo correctamente. Es la línea anterior equivalente a:
if (g) {
$.event.trigger("ajaxComplete", [xhr, s]);
}
Y en segundo lugar, ¿es esta práctica común / aceptada en Javascript? Por un lado, es sucinto, pero por otro puede ser un poco críptico si no lo has visto antes.
Sí, es equivalente a un if
como escribiste. Ciertamente no es una práctica poco común. Si se acepta depende de quién está (o no) haciendo la aceptación ...
Sí, lo entiendes (en ese contexto); sí, es una práctica estándar en JavaScript.
Sí, tus dos ejemplos son equivalentes. Funciona así en casi todos los idiomas, pero se ha vuelto bastante idiomático en Javascript. Personalmente, creo que es bueno en algunas situaciones, pero puede ser abusado en otras. Sin embargo, es definitivamente más corto, lo que puede ser importante para minimizar los tiempos de carga de Javascript.
También vea ¿Puede alguien explicar cómo funciona el JavaScript de pretty.js de John Resig?