请有人选择一个更好的头衔,因为我坦率地不知道如何为这个冠名。
我正在尝试做的是将Textarea的内容作为字符串(与NW.js文件函数一起使用,因为我正在编写一个对平面文件执行操作的应用程序)并且我正在使用以下代码执行操作的是:
let file = document.getElementById("txt").value;
在编译成JS之后就可以了。但是,TypeScript编译器会抱怨值部分:
Property 'value' does not exist on type 'HTMLElement'
我做错了什么?
答案 0 :(得分:3)
TypeScript的存在理由是将静态类型应用于类似JavaScript的代码。 document.getElementById
返回HTMLElement
,其中没有value
(毕竟,它可能是任何类型的HTML元素),因此TypeScript会警告您使用{{1}的属性没有。 TypeScript无法知道您获得的具体元素是HTMLElement
(具有HTMLInputElement
),除非您告诉它是通过强制转换(技术上,type assertion):
value