Sé que en php 5.3 en lugar de usar esta sintaxis de operador ternario redundante:
startingNum = startingNum ? startingNum : 1
... podemos usar una sintaxis abreviada para nuestros operadores ternarios cuando corresponda:
startingNum = startingNum ?: 1
Y sé sobre el operador ternario en javascript:
startingNum = startingNum ? startingNum : 1
... pero ¿hay una taquigrafía?
javascript
ternary-operator
Diseñador web
fuente
fuente

||lugar de???||operador de JS no devuelve verdadero o falso, devuelve el primer valor 'verdadero'. Di que tienesval0yval1comoundefined, yval2es2,val3es3.val0 || val1 || val2 || val3volverá2, ya que es el primer valor de "verdad".||devolverá el primer valor veraz que encuentre y, por lo tanto, se puede usar como un operador de fusión, similar al de C #??fuente
Sí hay:
En general,
expr1 || expr2funciona de la siguiente manera (como se menciona en la documentación ):fuente
if a is truthyvs.if a is evaluated to true?En este caso, puede utilizar el operador OR.
fuente
Si tiene una condición con nulo, como
puedes usar '&&'
fuente
anything && nullevaluará como nulo a menos queanythingsea falso?Las respuestas anteriores son correctas. En JavaScript, la siguiente declaración:
se puede expresar como
Otro escenario no cubierto aquí es si desea que el valor devuelva falso cuando no coincida. La abreviatura de JavaScript para esto es:
Pero se puede expresar como
Solo quería cubrir otro escenario en caso de que otros estuvieran buscando una respuesta más generalizada.
fuente
x = innerWidth * 0.0375 > 24 ? innerWidth * 0.0375 : 24???innerWidth * 0.0375 > 24difiere de laif trueparte que esinnerWidth * 0.0375. La taquigrafía solo se puede utilizar siexpression to be evaluatedyif trueson el mismo valor. Igual por qué no podría taquigrafíax = someBoolean ? 'Heck yea!' : 'No way!'.Math.max(innerWidth * 0.0375, 24)Math.maxfunciona mejor que un operador ternario en su caso de uso.startingNum = startingNum ? otherNum : 1puede expresarse comostartingNum = otherNum || 1" es incorrecto. acabo de probar estoPara hacer un ternario como:
en javascript, puede hacer:
Ejemplo:
fuente
x = innerWidth * 0.0375 > 24 ? innerWidth * 0.0375 : 24se convertiría en(innerWidth * 0.0375 > 24 && innerWidth * 0.0375) || 24?? ¿Existe una taquigrafía, para que no tenga que repetirinnerWidth * 0.0375, aparte de asignarla a una variable?Math.max( innerWidth * 0.0375 , 24 )funcionaría con elegancia. Para un caso más general, sería bueno crear un método descriptivo llamado, por ejemplo, 'somethingifiedInnerWidth' que mejora la legibilidad, en lugar de crear una variable. Aunque en algunos casos sería más legible tener una variable (de ese nombre descriptivo), en el futuro la pregunta '¿por qué se multiplica por esto?' no se eleva.Math.max. solucion super elegante !!