Agregar / modificar propiedades a un objeto y devolverlo en la misma línea es un posible caso de uso:
console.log(
((x) => (o = {biggerCond: r => r >= x},
o.r5 = Array.from(window.crypto.getRandomValues(new Uint16Array(5))),
o.isAnyBigger = o.r5.some(o.biggerCond),
o.bigger = o.isAnyBigger ? o.r5.filter(o.biggerCond) : [x], o )
)(5e4)
);
La función anónima anterior devuelve un objeto con valores aleatorios mayores que el valor de entrada o, si no hay ninguno, con el valor de entrada en sí en una matriz contenida en la bigger
propiedad.
Sigue siendo azúcar sintáctico (como funciones de flecha ), pero acorta el número de líneas ... Me pregunto si algunos minificadores JS detectan y ajustan el código de manera similar automáticamente. Ejecútelo en su consola:
((x)=>(o={biggerCond:r=>r>=x},o.r5=Array.from(window.crypto.getRandomValues(new Uint16Array(5))),o.isAnyBigger=o.r5.some(o.biggerCond),o.bigger=o.isAnyBigger?o.r5.filter(o.biggerCond):[x],o))(5e4)