Type guard должен проверять реальный признак Admin; без определений интерфейсов его нельзя выбрать достоверно.
Напишите type guard для интерфейсов User и Admin, который проверяет, что переданный пользователь действительно является администратором.
Type guard должен проверять реальный признак Admin; без определений интерфейсов его нельзя выбрать достоверно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Type guard должен проверять реальный признак Admin; без определений интерфейсов его нельзя выбрать достоверно.
Например, при union с discriminant role: 'user' | 'admin' можно вернуть user.role === 'admin' в функции с предикатом user is Admin. Для неизвестного JSON сначала проверяют объект и поля; такой клиентский guard не заменяет серверную авторизацию.