Навъҳои муттаҳидшаванда дар TypeScript
Аз рӯйи вокуниш, баъзан як тағирёбанда метавонад қиматҳои навъҳои гуногунро қабул кунад. Шумо аллакай медонед, ки дар ин ҳолат ин тағирёбандаро бо навъи any эълон кардан мумкин аст.
Аммо, ҳолатҳое ҳастанд, ки ба мо маълум аст, ки тағирёбанда метавонад қиматҳои ҳама навъҳоро на, балки фақат баъзеҳоро қабул кунад. Масалан, он метавонад ё сатр ё рақам бошад.
Дар ин ҳолат, беҳтар аст, ки ба тағирёбанда иҷозат диҳед, ки фақат навъҳои заруриро қабул кунад. Ин бо истифода аз оператори муттаҳидкунии навъҳо, ки аломати амудии вертикалӣ мебошад, анҷом дода мешавад.
Биёед бо истифода аз ин оператор ба тағирёбанда иҷозат диҳем, ки ё сатр ё рақам бошад:
let test: string | number;
Биёед санҷем - ба тағирёбанда рақам нависем:
test = 123;
Ва ҳоло ба он сатр нависем:
test = 'abc';
Ва ҳоло ба он қимати мантиқӣ нависем:
test = true; // хатогӣ хоҳад буд
Тағирёбандае созед, ки метавонад ё рақам ё null бошад.
Тағирёбандае созед, ки метавонад ё рақам, ё сатр, ё мантиқӣ бошад.