the scoping effect of the initialization block can be understood as if the declaration happens within the loop body, but just happens to be accessible within the condition and update parts.
const { log } = console;// โญโโ i โโโฎ <--- โญ `i` is "block-scoped"for (let i =0; i <3; i++) {// โญ every time "block scope" is entered,// a new/different `i` is captured by closure.//