【问题标题】:Confusion of WebStorm type recognition of function return typesWebStorm类型识别函数返回类型的困惑
【发布时间】:2015-01-29 00:07:01
【问题描述】:

使用以下代码:

/**
 * @typedef {foo} MyFoo
 * @property {String} fooText
 * @property {Number} fooValue
 */

/**
 * @type {MyFoo}
 */
var foo = {
  fooText : '',
  fooValue : 0
};

/**
 * @param {MyFoo} someFoo
 * @returns {MyFoo}
 */
function doStuff(someFoo)
{
  var result = Object.create(foo);

  result.fooText = someFoo.fooText + '!';
  result.fooValue = someFoo.fooValue + 1;

  return result; 
}


var someFoo = Object.create(foo);
someFoo.fooText = 'Hello';
someFoo.fooValue = 3;

var someOtherFoo = doStuff(someFoo);
var anotherFoo = doStuff(someOtherFoo);

我创建了一个类型MyFoo。我使用这个类型作为函数doStuff的参数和返回值。然后,我反复调用doStuff函数,首先使用Object.create创建的对象,然后使用上一次调用的返回值。

这里是问题:

参数类型 MyFoo 不能分配给参数类型 MyFoo

另外,someOtherFooanotherFoo 不再使用 MyFoo 属性自动完成。

发生了什么事?

【问题讨论】:

    标签: javascript webstorm jsdoc


    【解决方案1】:

    这是一个错误。 WEB-13724 已修复,修复将包含在 WebStorm 10 中

    【讨论】:

      猜你喜欢
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多