我在以下指令中看到了它:
const htmlInput: HTMLInputElement = document.getElementById('htmlInput') as HTMLInputElement;
类型断言已经使用完成了const htmlInput: HTMLInputElement
,那么为什么要as
使用运算符?
document.getElementById()
返回类型为的对象Element
。
类比类Element
更通用,HTMLInputElement
并且类型的对象Element
不具有类型的对象的所有属性HTMLInputElement
。
TypeScript编译器抱怨并且不允许分配。
const htmlInput: HTMLInputElement
不是类型断言,而是声明。
这是不匹配的根源。
这里as
引入了引入类型断言的关键字。类型断言允许开发人员告诉TS编译器“相信我,我知道我在做什么”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句