union types 聯合類型
image.png
image.png
image.png
type CanCross = "green" | "orange";
type ShouldStop = "orange" | "red";
let canCross = "orange" as CanCross; // ?
let shouldStop = "orange" as ShouldStop; // ?
unknow 類型,是所有類型的父集
image.png
let something: unknown;
something = "Hello"; // ?
something = 2; // ?
something = { name: "Alice" }; // ?
something = () => "?"; // ?
A | unknown = unknown
A & unknown = A
交集,對象的交集就是包含2個對象中的所有類型
image.png
image.png
never類型,string & number = never
image.png
A | never = A
A & never = never
any類型,TS最差實踐,是所有類型的父集,也是所有類型的子集
image.png
A | any = any
A & any = any