[英]Define object type for function parameter / get auto completion in VS Code
我刚刚开始使用 JavaScript(使用节点),我使用 VS Code 作为我的编辑器。 我有一个 object collection
,VS Code 为我提供了方法名称的自动完成功能。 但是,我将此 object 传递给 function myFunction
。 在myFunction
主体内,我没有自动完成collection.
虽然我能理解这一点,但我想知道如何解决这个问题。 这可以用JavaScript
还是我已经需要TypeScript
了?
// Get the documents collection
collection = db.collection('myCollection');
// typing "collection." here I get auto completion and can
// e.g. select collection.insertOne
myFunction(collection)
function myFunction(collection) {
// no auto completion here when typing "collection."
// (at least it doesn't show collection.insertOne)
// how to get auto completion here? Do I need TypeScript for that?
// or is it possible with JavaScript?
}
嗨,这可以通过执行类似的操作轻松解决
/**
*
* @param {string[]} collection
*/
function myFunction(collection) {
}
这称为 jsDoc,在涉及 javascript 时非常有用。 您也可以在function 中使用它以获得类似的效果作为示例
/**
*
* @type {number}
*/
const aNumber = 5;
正如您在此屏幕截图中看到的我的第一个案例 我得到自动完成,就好像我的集合是一个字符串数组一样。 我在这里展示的是一些非常简单的类型,但你知道它是如何工作的。 jsDoc 也非常适合注释您的代码,例如输入参数和返回参数等。
另外为了清楚起见,我还包含了一个更复杂的使用 vs 代码自动完成的屏幕截图。
该示例是在 function 中使用电子的“应用程序”,并以与收集相同的方式获得自动完成
相反,如果我省略 jsdoc,就会发生这种情况
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.