Estoy usando el siguiente condicional abreviado en JS/jQuery:
var delay = $(this).data("delay") ? $(this).data("delay") : options.delay;
Si el elemento tiene un atributo data-delay
use ese valor; de lo contrario, obtenga el valor de options.delay
.
Parece excesivo usar $(this).data("delay")
dos veces en el condicional abreviado. Hay una mejor manera de hacerlo?
Sería var delay = $(this).data("delay") || options.delay;
ser una buena solucion? No estoy seguro de si todos los navegadores lo admiten.
sí, puede usar el operador coalescente nulo. Un valor nulo es un valor que es nulo o indefinido.
Entonces, puedes usar algo como esto:
var delay = $(this).data("delay") ?? options.delay;
Puede leer más al respecto en esta página: https://www.javascripttutorial.net/es-next/javascript-nullish-coalescing-operator/