我正在编写模块,其中一个函数应返回HTMLCanvasElement
或OffscreenCanvas
的实例(如果可用)。
对于Visual Studio代码OffscreenCanvas
未定义。
如何仅使用jsdoc注释定义类? (无需在注释块之外编写任何JavaScript)
例如:
/**
* @classdef OffscreenCanvas(width,height)
* @param {number} width
* @param {number} height
* @property {number} width
* @property {number} height
**/
我尝试使用jsdoc文档中的许多方法,例如使用@see
,@class
,@typedef
,但效果不佳。
/**
* @type {(HTMLCanvasElement|OffscreenCanvas)}
*/
const sharedCanvas = createOffscreenCanvas();
export function getSharedCanvas() {
return sharedCanvas;
}
/**
*
* @param {number} width
* @param {number} height
* @return {(HTMLCanvasElement|OffscreenCanvas)}
*/
export function createOffscreenCanvas(width = 200, height = 200) {
if (OffscreenCanvas) {
return new OffscreenCanvas(width, height);
}
let c = document.createElement('canvas');
c.width = width;
c.height = height;
return c;
}
如果createOffscreenCanvas
显示说明,则是完美的解决方案:
function createOffscreenCanvas(width?: number, height?: number): HTMLCanvasElement | OffscreenCanvas
但目前正在显示
function createOffscreenCanvas(width?: number, height?: number): any