ts 中 any + unknow
📅 2026/7/16 21:07:13
👁️ 阅读次数
📝 编程学习
好久没关注前端了,现在看了以下ts3,发现多了一种数据类型,unkonw。
想搞清楚any 与 unkonw的区别。
以后用any的地方,建议先用 unkonw
unkonw类型的只能赋值 unkonw 和 any类型的变量。
let uncertain: unknown = 'Hello'!; let notSure: any = uncertain; let aa: number = uncertain; // 这个会报错此方式ts无法检测错误,但是运行时会报错,
const number: unknown = 15; (number as string).toLowerCase();所以需要进一步缩小变量类型,需要使用
typeof
const dogName = getDogName(); if (typeof dogName === 'string') { console.log(dogName.toLowerCase()); }instanceof
type getAnimal = () => unknown; const dog = getAnimal(); if (dog instanceof Dog) { console.log(dog.name.toLowerCase()); }
编程学习
技术分享
实战经验