text = text
.replace("()", "")
.replace("[]", "")
.replace("{}", "");text = text.replace(/(\[\])|(\(\))|(\{\})/g, '')!text.length ? 1 : 0;!text.length;
Каждому повторению цикла соответствует своя независимая переменная let. Если внутри цикла есть вложенные объявления функций, то в замыкании каждой будет та переменная, которая была при соответствующей итерации. https://learn.javascript.ru/let-const