No sé por qué esto no funciona. ¿Algunas ideas?
let a = 0 if (a == 0) {return let a = value0} else if (a == 1) {return let a = value1} else {return let a = valuex} console.log(a) La consola siempre dice 0 . ¿Qué tengo que hacer?
No debe regresar de las if , solo asigne un valor a :
let a = 0 if (a == 0) {a = value0} else if (a == 1) {a = value1} else {a = valuex} console.log(a)Está declarando una variable cada vez dentro de la condición. Por lo tanto, las variables se incluirán entre corchetes, no fuera de esos corchetes. Entonces la variable global no cambiará en su caso. Y quitar retorno. La solución es
let a = 0 if (a == 0) { a = value; } else if (a == 1) { a = value1; } else { a = value; } console.log(a)El problema aquí es el alcance de 'a'. let nos permite declarar variables que están limitadas al alcance de una declaración de bloque, y una vez que el bloque se cierra, su alcance finaliza.
let a = 0 //You don't need to redeclare a by using let //Also you don't need to return anything since it's not a function if (a == 0) { a = value0} else if (a == 1) { a = value1} else { a = valuex} console.log(a)