Я изучил несколько стратегий переоценки ошибки
- Функция ()
Код: Выделить всё
Error=function(){} - Короткая функция ()
Код: Выделить всё
Error={Error(){}}.Error
Код: Выделить всё
function testError(){
if(Object.hasOwn(Error,"caller") || Object.hasOwn(Error,"arguments") || Object.hasOwn(Error,"prepareStackTrace"))
return false;
try {
new Error()
} catch (error) {
return false;
}
try {
Error()
} catch (error) {
return false;
}
try {
Object.create(Error).toString()
} catch (error) {
if(error.stack.includes("Object.toString"))
return false
}
return true
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... ction-mech
Мобильная версия