Обработка возможности null в методе «route.snapshot.paramMap.get(’id’)»: методы и примеры кода

При работе с приложениями Angular вы можете столкнуться с распространенным сообщением об ошибке: «Идентификатор get paramMap снимка маршрута, возможно, имеет значение null». Эта ошибка возникает, когда используется метод «route.snapshot.paramMap.get(‘id»)», а значение «id» потенциально равно нулю. В этой статье мы рассмотрим несколько методов решения этой ситуации и предоставим примеры кода, иллюстрирующие каждый подход.

Метод 1: оператор объединения значений NULL (TypeScript 3.7+)
Оператор объединения значений NULL (??) обеспечивает краткий способ обработки значений NULL. Он возвращает правую часть, если левая часть равна нулю или неопределена. Вот пример его использования с методом “route.snapshot.paramMap.get(‘id’)”:

const id = route.snapshot.paramMap.get('id') ?? 'defaultId';

Метод 2: необязательный оператор цепочки (TypeScript 3.7+)
Необязательный оператор цепочки (?.) позволяет безопасно получать доступ к свойствам или вызывать методы для потенциально нулевых или неопределенных значений. Он сокращает вычисление и возвращает неопределенное значение, если какое-либо промежуточное свойство имеет значение NULL или неопределенное. Вот пример использования необязательной цепочки:

const id = route.snapshot.paramMap.get('id');
const safeId = id?.toUpperCase();

Метод 3: утверждение типа
Вы можете использовать утверждение типа, чтобы сообщить компилятору TypeScript, что вы знаете, что значение не будет нулевым. Это полезно, если у вас есть дополнительные знания о коде или если вы выполнили нулевую проверку вручную. Вот пример:

const id = route.snapshot.paramMap.get('id') as string;

Метод 4: условная проверка
Вы можете вручную выполнить проверку на нулевое значение с помощью оператора if, чтобы убедиться, что значение не равно нулю, прежде чем использовать его. Вот пример:

const id = route.snapshot.paramMap.get('id');
if (id !== null) {
  // Use id
}

Метод 5: Значение по умолчанию
Вы можете указать значение по умолчанию для параметра «id», используя логический оператор ИЛИ (||). Если значение равно нулю или неопределенно, будет использоваться значение по умолчанию. Вот пример:

const id = route.snapshot.paramMap.get('id') || 'defaultId';

В этой статье мы рассмотрели несколько методов обработки возможности null при использовании метода «route.snapshot.paramMap.get(’id’)» в приложениях Angular. Используя такие методы, как оператор объединения значений NULL, необязательное связывание, утверждение типа, условные проверки или значения по умолчанию, вы можете эффективно обрабатывать значения NULL и предотвращать потенциальные ошибки. Не забудьте выбрать метод, который лучше всего подходит для вашего конкретного случая использования.