毫秒 vs 秒,当我混淆时 JsDoc 可以告诉我吗?

问题描述 投票:0回答:1

我想学一点 TypeScript 和 JsDoc。对我来说,常见的情况是我碰巧混合了不太相同的数值。作为一个简单的例子(也许不太现实),让我们说我可以混合毫秒和秒。在下面的代码中,我尝试从 JsDoc 获得一些帮助。我在 Visual Studio Code 中编辑此内容并希望看到一些警告/错误,但没有显示任何内容。

// @ts-check

/** @typedef {number} TSseconds */
/** @typedef {number} TSmilliSeconds */

/** @type {TSmilliSeconds} */
let ms = 1;

/** @type {TSseconds} */
let sec = 2;

ms = sec;

/**
 * 
 * @param {TSseconds} secVal 
 * @returns {TSmilliSeconds}
 */
function sec2ms(secVal) {
    console.log("sec2ms", secVal);
    return 1000 * secVal;
}

/** @type {TSmilliSeconds} */
let ms2;
ms2 = sec2ms(ms);

/** @type {TSseconds} */
let sec2;
sec2 = sec2ms(ms);

我想我误会了什么。我如何从 JsDoc 获得更多帮助? (完成工程。)

我安装了打字稿(

npm install -g typescript
)。 NodeJs 最新稳定版本。

javascript typescript visual-studio-code jsdoc
1个回答
0
投票

我认为使用 Typescript 能够实现的最好效果就是为

number
类型起别名,以更好地描述参数应该是什么。例如。

type Seconds = number
type MilliSeconds = number

function myTimer(arg0:Seconds, arg1:MilliSeconds){}

因此,当您查看函数定义时,会更清楚地了解这些值所代表的含义。

© www.soinside.com 2019 - 2024. All rights reserved.