描述变量的对象 属性

Describe object property of variable

我有这样的代码:

var availableCondition = {
    property1: {
        condition: true,
        value: 'value1'
    },
    property2: {
        condition: false,
        value: 'value2'
    },
}
var obj = {}
for (var key in availableCondition) {
    var potentialProperty = availableCondition[key];
    if (potentialProperty ['condition']){
         obj[key] = potentialProperty['value']
    }
}

我怎样才能描述 var obj 具有 IDE 代码实现的能力,比如在 case

var obj = {
     property1: 'value1',
     property2: 'value2',
}

当我开始打字时

obj.

IDE 带我 属性 以第二种方式完成,但不是第一种方式。

如何在jsDoc中描述对象来完成?

相信这就是您要找的答案。

var availableCondition = {
  property1: {
    condition: true,
    value: 'value1'
  },
  property2: {
    condition: false,
    value: 'value2'
  }
}

function createObj(obj) {
  var result = {};
  for (var key in obj) {
    result[key] = obj[key].value;
  }  
  return result;
}
console.log(createObj(availableCondition));

我找到了解决方案

var availableCondition = {
    property1: {
        condition: true,
        value: 'value1'
    },
    property2: {
        condition: false,
        value: 'value2'
    },
};
/**
 *
 * @type {object}
 * @property {string} property1
 * @property {string} property2
 */
var myObj = {};
for (var key in availableCondition) {
    var potentialProperty = availableCondition[key];
    if (potentialProperty ['condition']){
        myObj[key] = potentialProperty['value']
    }
}