Surgiu agora a dúvida sobre a declaração de variavel com escopo de bloco, atravez de let. se uma let tem escopo do bloco onde é declarada, o que ocorre se passar ela como parametro para chamada de uma função declarada fora do bloco? ou ainda, o que ocorre com essa variavel se ela for declarada no interior do bloco de uma função e for retornada por essa função? ainda, se quebrarmos o fluxo com setTimeOut dentro de um bloco de uma função, chamando uma função externa mais demorada e para essa função passarmos um let criado na função corrente, a let vai ser passada ou lá ela não existira(na função chamada com settimeout, com por exemplo 2 segundos de delay, o que provavelmente ocorreria depois de encerrado o bloco que a chamou e onde foi declarado let)