Я понимаю, что это не рекомендуется сообществом JS, но я думаю, что есть хороший вариант использования для переопределения Object.prototype, чтобы доступ к свойствам неопределенных объектов возвращал undefined вместо выдачи ошибки сбоя приложения.
Небольшая справочная информация:
- Работа с большим приложением (около 200 тыс. Строк кода)
- Приложение чрезвычайно настраиваемо с множеством опций - нет возможности проверить каждую возможность
- Angular 2 / Ioni c 2 project
По сути, я хотел бы сделать так, чтобы следующий код консоли записывал «undefined» вместо генерации ошибки:
Псевдокод:
Object.defineProperty(Object.prototype, Object.prototype.get, (val) => {
try {
console.log(val);
} catch (e) {
console.log('Attempted to access undefined property');
}
});
const obj = {
a: 'b'
};
console.log(obj.a.b.c); // should log undefined but actually generates an app freezing issue
Вопросы:
Как я могу сделать эту работу? Есть ли другой способ предотвратить ошибки проверки нуля во всем приложении, не добавляя слишком много кода? Существует ли общее исправление c, позволяющее сделать так, чтобы эти ошибки проверки нуля не приводили к sh приложению Angular / Ioni c?