It's a basic question; I can't seem to understand why in the code below the while loop output begins with 2 "#" and the for loop start with 1

let brick = "#";
while (brick.length < 8){
brick += "#";
console.log(brick);
}
console.log("For Loop");
for (let i = "#"; i.length <8; i+="#"){
console.log(i)
}
Because in the while loop, you are incrementing before and in the for loop after writing to the console.
Move your brick += "#"; to the end of the while loop and they will behave both the same way:
let brick = "#";
while (brick.length < 8) {
console.log(brick);
brick += "#";
}
For-Loop:
for (let i = "#"; i.length < 8; i += "#")
^ happens AFTER each iteration
You have already instatiated the brick at the start. But, when you are looping in the for loop the length is increased after the loop is finished. And the opposite is happening in the while loop.