Навъҳои муттаҳидшаванда дар TypeScript

Аз рӯйи вокуниш, баъзан як тағирёбанда метавонад қиматҳои навъҳои гуногунро қабул кунад. Шумо аллакай медонед, ки дар ин ҳолат ин тағирёбандаро бо навъи any эълон кардан мумкин аст.

Аммо, ҳолатҳое ҳастанд, ки ба мо маълум аст, ки тағирёбанда метавонад қиматҳои ҳама навъҳоро на, балки фақат баъзеҳоро қабул кунад. Масалан, он метавонад ё сатр ё рақам бошад.

Дар ин ҳолат, беҳтар аст, ки ба тағирёбанда иҷозат диҳед, ки фақат навъҳои заруриро қабул кунад. Ин бо истифода аз оператори муттаҳидкунии навъҳо, ки аломати амудии вертикалӣ мебошад, анҷом дода мешавад.

Биёед бо истифода аз ин оператор ба тағирёбанда иҷозат диҳем, ки ё сатр ё рақам бошад:

typescriptlet test: string | number;

Биёед санҷем - ба тағирёбанда рақам нависем:

typescripttest = 123;

Ва ҳоло ба он сатр нависем:

typescripttest = 'abc';

Ва ҳоло ба он қимати мантиқӣ нависем:

typescripttest = true; // хатогӣ хоҳад буд
Задание 1

Тағирёбандае созед, ки метавонад ё рақам ё null бошад.

Задание 2

Тағирёбандае созед, ки метавонад ё рақам, ё сатр, ё мантиқӣ бошад.