Wata kafin nau'i tana ce ma compiler "amince da ni, wannan darajar nau'i X ce" ta amfani da as. Ba ta yin aiki na lokacin guida ko bincike — ita kawai tana canza yadda compiler ke kallon darajar.
el = .() ;
el. = ;
data = .(str) ;
Wata kafin nau'i tana ce ma compiler "amince da ni, wannan darajar nau'i X ce" ta amfani da as. Ba ta yin aiki na lokacin guida ko bincike — ita kawai tana canza yadda compiler ke kallon darajar.
el = .() ;
el. = ;
data = .(str) ;
Ɗakin karatu na tambayoyin hira na IT tare da amsoshi cikakke — daga Junior zuwa Senior.
Ba da GudummawaAidawowa ta bugi kimanta compiler — idan ka kuskure, za ka sami gudu-lokaci sokewa ba tare da gargadi ba:
const x = "hello" as unknown as number; // double assertion — compiler stops complaining
x.toFixed(2); // 💥 runtime error: x.toFixed is not a function
Aidawowa ba ta sa darajar zama nau'i na ba; ita kawai tana natse da binciki. Ka dauki alhakin gaskiya daga ma compiler.
// 1. type guard — actually verify at runtime
if (typeof input === "string") { /* input is string, proven */ }
// 2. validation library (zod) for external data
const user = UserSchema.parse(data); // throws if shape is wrong
as const ya bambantaconst point = { x: 1 } as const; // not a risky cast — narrows to literal/readonly
Aidawowa a wasu lokuta ana buƙata (APIs na DOM, ƙunna unknown da ka riga ka bincika), amma kowane ɗaya shine wuri compiler ba za ta iya kare ka ba.
Dauki garde nau'i ko tabbaci schema don data da ba a amince da su, kuma ka yi kowane as a matsayin kaɗan, da gida "na san da kyau" cewa kila ya zama tabbataccen.