javascript - JSDoc 泛型类型 - WeakRef 的 @typedef
问题描述
如何为泛型类型实现 typedef?
这是 WeakRef 类型定义:
/**
* @typedef {Object} WeakRef
* @property {function(): any} deref
*/
这是使用,清单内的问题:
export class MyCl {
/**
* @type {WeakRef}
*/
#ref;
/**
* @param {HTMLElement} el
*/
myMethod(el) {
this.#ref = new WeakRef(el);
}
myMethod2() {
let htmlEl = this.#ref.deref(); // <========
// htmlEl here is 'any', it must be 'HTMLElement'
}
我试试
/**
* @typedef {Object} WeakRef
* @template T
* @property {function(): T} deref
*/
但不知道如何在这里设置 T:
/**
* @type {WeakRef}
* how to say T is HTMLElement <========
*/
#ref;
解决方案
推荐阅读
- javascript - 使用 multer nodejs 从图像 url 将图像上传到 mongodb
- botframework - 登录操作后如何继续机器人命令回答?
- jenkins - Kubernetes Helm install stable/jenkins deprecation error calling Master.* values
- apache-nifi - 为什么 QueryDatabaseTable 执行完整的查询获取而不是使用最大列值从 Apache Nifi 中的 Oracle 获取数据?
- html - preg_replace
不知道为什么下面的代码不起作用。有任何想法吗?
<table width="567"
$text = preg_replace('/<table width=["\']\s*\d+\s*(px|%)\s*["\']/', '<table width="100%"', $text);
swift - Swift IOS - 一个复杂的表格视图单元格的排列 - python - 更改 Python:在 Visual Studio Code 的终端命令中运行 Python 文件
- python - MongoDB 更新多个嵌套数组
- node.js - 我可以部署一个前端文件夹和后端文件夹都在同一个 Github 存储库上的 MERN 应用程序吗?
- sql - 查看不执行,但直接运行相同的查询