← Timeline
Avatar
Eliyahu Duvidzon
(updated )

Люблю тип never в тайпскрипте. Он же, если я не ошибаюсь, Nothing в скале и котлине. С ним например можно проверить во время компиляции, что все опции обработаны:
playground

function sw(v: {$case: 'a', a: number} | {$case: 'b', b: string}) {
switch (v.$case) {
case 'a':
console.log(v.a);
break;
case 'b':
console.log(v.b);
break;
default: { const _: never = v; }
}
}
sw({$case: 'a', a: 42})

Если стереть один из кейсов, то он скажет вот такое:

TS Playground - An online editor for exploring TypeScript and JavaScript
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
WWW.TYPESCRIPTLANG.ORG
👍💯3
To react or comment  View in Web Client