Typescript:TextNode 的类型
Typescript: The type of TextNode
如果你写下面的代码:
const e = document.body.firstChild;
if (e.nodeType === Node.TEXT_NODE)
console.log(e.data);
您将在 e.data
收到此错误:
TS2339: Property 'data' does not exist on type 'ChildNode'.
如果条件为真 (e.nodeType === Node.TEXT_NODE
) 那么 e
除了常规 ChildNode
属性之外还有一些其他属性,例如 data
和 wholeText
.
我应该转换成什么类型(any
除外)?
我认为你应该根据 nodeName
编写你的条件,因此它将 return "#text" 作为文本节点。
你在 TypeScript 中寻找的接口是 CharacterData
或简单的 Text
. 在 Text
接口上你将同时拥有data
和 wholeText
属性,因为它实现了 characterData
接口。在 characterData
抽象接口上你只有 data
prop.
如果你写下面的代码:
const e = document.body.firstChild;
if (e.nodeType === Node.TEXT_NODE)
console.log(e.data);
您将在 e.data
收到此错误:
TS2339: Property 'data' does not exist on type 'ChildNode'.
如果条件为真 (e.nodeType === Node.TEXT_NODE
) 那么 e
除了常规 ChildNode
属性之外还有一些其他属性,例如 data
和 wholeText
.
我应该转换成什么类型(any
除外)?
我认为你应该根据 nodeName
编写你的条件,因此它将 return "#text" 作为文本节点。
你在 TypeScript 中寻找的接口是 CharacterData
或简单的 Text
. 在 Text
接口上你将同时拥有data
和 wholeText
属性,因为它实现了 characterData
接口。在 characterData
抽象接口上你只有 data
prop.