My learnings on TypeScript
— typescript — 1 min read
never
- won’t allow the code to return
undefined
void
function can returnundefined
function functionThrow(): never { throw new Error("This function return never");}
function outputMessage(message: string) { if (typeof message === "string") { console.log(message); } else { let invalid = message; // never type console.error(invalid); }}
unknown
- better
any
any
will compile successfully- force you to use the type or type assertion
let variable2: unknown;variable2 = "It is a string";console.log(variable2.substr(0,2)) // Does not compile here
string literal
type Direction = "north" | "south" | "east" | "west";let myDirection:Direction = "north";// let yourDirection:Direction = "no-where"; // Does not compile
casting
const unknownType: unknown = "123" const cast1: number = <number>unknownType; const cast2: number = unknownType as number;