Если я создаю переменную в блоке catch, это область уровня блока?Пробовал ли захват областью уровня блока?
Кажется, что он создан в глобальном масштабе.
Я думал, что это уровень блокировки, потому что не перекодируйте конвертировать оператор let, чтобы попробовать/поймать?
try {
throw Error("test");
} catch (e) {
var x = 15;
console.log(x);
}
console.log(x);
Нет, объявление 'var' в предложении' catch' находится в области функций. Однако вы можете использовать 'let' (в ES2015). – Pointy
так что никогда не было взлома, чтобы использовать переменные уровня блока до es6? Мне показалось, что я смотрел видео об этом. – runners3431
На самом деле для 'catch()' существует специальное специальное правило: 'параметр' для блока 'catch' привязан к этому блоку, почти как параметр функции. – Pointy