¿Existe un equivalente del operador de morsa de Python ': =' en JavaScript? Sé que es posible hacer:
for (let i = 0; (result = foo(i)) < N; i++) { // Do stuff. } pero quiero que el result esté restringido al alcance del bucle for.
Puede declarar el result dentro del alcance de for .
for (let i = 0, result; (result = foo(i)) < N; i++) { // Do stuff. }Solo como una alternativa al buen enfoque de Nina : cada vez que desee tener una variable en un ámbito más limitado que su entorno, también puede usar un bloque independiente:
{ let result; // ... } Eso lo liberaría de usar for sin una expresión de incremento (soy de la escuela que se deben usar las tres partes de for , o usar un ciclo diferente):
{ let i = 0, result; while ((result = foo(i++)) < N) { // Do stuff... } }Ejemplo en vivo:
const foo = x => x; const N = 5; { let i = 0, result; while ((result = foo(i++)) < N) { // Do stuff... console.log(result); } }