Переопределение Object.prototype.get для предотвращения проблем проверки на пустое значение в большом приложении - PullRequest
1 голос
/ 06 февраля 2020

Я понимаю, что это не рекомендуется сообществом JS, но я думаю, что есть хороший вариант использования для переопределения Object.prototype, чтобы доступ к свойствам неопределенных объектов возвращал undefined вместо выдачи ошибки сбоя приложения.

Небольшая справочная информация:

  1. Работа с большим приложением (около 200 тыс. Строк кода)
  2. Приложение чрезвычайно настраиваемо с множеством опций - нет возможности проверить каждую возможность
  3. 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?

...