Esto es lo que quiero hacer:El uso de un tiro en una expresión Javascript
var setting = process.env.SETTING || throw new Error("please set the SETTING environmental variable");
^^^^^
Pero el intérprete se queja de "Error de sintaxis: tiro símbolo inesperado".
¿Hay alguna manera de lanzar una excepción en la misma línea que comparamos si un valor es falsey o no?
+1 para una solución interesante, aunque parezca un poco exagerada. – casablanca
[IIFE] (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression) no son poco comunes en Javascript. Creo que esto también se vuelve un poco más agradable con las funciones de flecha: 'var setting = process.env.SETTING || (() => {throw "por favor configure $ SETTING";})() ' – Alec
@Alec tienes razón, me encanta cómo se ve súper limpio. Mi única reserva a esta respuesta en general es que las personas que lean el código no tendrán idea de lo que está sucediendo, se convertirá en otro poco de magia de caja negra. los principiantes incluso pueden venir pensando que así es como funciona throw en js. Algún día lo intentarán ellos mismos, y perderán mucho tiempo desentrañando de dónde lo aprendieron y por qué ya no funciona. – Lee