在 javascript 中,使用 JSDoc,我正在查询页面上的元素:
// @ts-check
/** @type {HTMLInputElement} */
const element = document.getElementById('checkbox');
Run Code Online (Sandbox Code Playgroud)
但我收到警告:
输入“HTMLElement | null' 不可分配给类型'HTMLInputElement'。类型“null”不可分配给类型“HTMLInputElement”.ts(2322)
有没有办法断言此类型不为空,就像您在打字稿中使用!运算符所做的那样?
查看文档后,这可以使用内联转换来完成。所以在你的情况下,正确的代码应该是这样的:
// @ts-check
const element = /** @type {HTMLInputElement} */ (document.getElementById('checkbox'));
Run Code Online (Sandbox Code Playgroud)
另外,请确保在/** @type {...} */注释之后需要使用括号将代码括起来。
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |