Re:TypeScript’s quirks: How inconsistencies make the languag...
by okbake on Saturday February 01, 2020 @03:15PM
(#22212943)
There are a few casts that are allowed that I would consider unsafe, particularly around unions of literals or using empty object literals:
// No error here
type Animal = 'dog' | 'cat';
const notAnimal = 'couch' as Animal;
// No error here either
type Food = { isSpicy: boolean };
const empty = {} as Food;
https://www.typescriptlang.org/play/index.html#code/C4TwDgpg...
e.g.
‘foo as unknown as Dog’