2
在下面的代码定义JSDoc型我想限定使用testSettings
变量ApplicationSettings
型的形状,使得内部useSettings
函数IDE将知道哪些属性的settings
对象上访问:使用可变[WebStorm友好]
/** @typedef ApplicationSettings */
var testSettings = {
apiService: {},
configuration: {}
};
/**
* @param {ApplicationSettings} settings
*/
function useSettings(settings) {
console.log(settings.apiService); // apiService is not recognized here
console.log(settings.configuration); // same for configuration
}
不幸的是,似乎@typedef
在这种情况下不是有效的注释。是否有可能告诉WebStorm如何在不显式指定JSDoc中的所有属性的情况下显示类型?
谢谢,这工作,但如果设置对象和函数是在不同的模块?我真的不希望函数注释依赖于'testSettings'变量的确切名称。它可以很容易地在明天重新命名,从开发者的角度来看,类型注释似乎更“永久”。 –