Наверное в каждом проекте есть несколько enum'ов, значения которых надо обработать по разному, например enum состояния - в зависимости от которого у нас может меняться отображение. В начале все идет хорошо, но через какое то время в эти enum'ы добавляются новые значения и вот тут возникают проблемы — легко упустить: поправить все switch и if условия, где они используются. Вроде мелочь, но сколько раз вы натыкались на ошибки, когда код просто не ожидал определённого значения? 🙈 Тогда я начал искать решение и наткнулся на крутой способ сделать код более защищённым с помощью TypeScript и типа never. Именно эта техника помогла мне избежать лишних багов и сделать код предсказуемым. Давайте разберёмся, как она работает! export const exhaustiveCheck = (param: never): void => { console.log(`Обработайте значение ${param}`); }; Здесь never служит маркером, который указывает, что функция exhaustiveCheck вообще не должна быть вызвана — ведь все случаи должны быть обработаны. А если этот случай вд