使用变量定义JSDoc类型[WebStorm友好]

时间:2014-03-31 09:10:20

标签: javascript webstorm jsdoc

在下面的代码中,我想使用ApplicationSettings变量定义testSettings类型的形状,以便在useSettings函数内部IDE知道{{1}上可以访问哪些属性object:

settings

不幸的是,似乎/** @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 } 在这种情况下不是有效的注释。是否有可能告诉WebStorm @typedef类型应该是什么样子而没有在JSDoc中明确指定它的所有属性?

1 个答案:

答案 0 :(得分:0)

为什么你需要@typedef?以下语法有效:

var testSettings = {
    apiService: {},
    configuration: {}
};

/**
 * @param {testSettings} settings
 */
function useSettings(settings) {
    console.log(settings.apiService); 
    console.log(settings.configuration);