TypeScript · Middle · Запитання 74 з 75
Чи працює звуження, якщо дискриміноване об'єднання спершу деструктуровано?
const { kind, radius } = shape;
if (kind === 'circle') radius.toFixed();- ✓Правильна відповідь: Починаючи з TS 4.6 деструктуровані дискримінанти звужують і пов'язані деструктуровані властивості (під час деструктуризації через
const) - 2Ніколи не звужує; треба використовувати
shape.kind - 3Звужує лише в операторах
switch
Пояснення
Деструктуровані змінні мають бути const (або незмінюваними параметрами), щоб аналіз потоку керування пов'язав їх.