【问题标题】:Unsafe assignment of any value trying to transform properties on an object尝试转换对象属性的任何值的不安全分配
【发布时间】:2021-12-11 10:48:56
【问题描述】:

我有这样的sn-p:

function transformIt(value: any): any {
  ...
}

let foo: any = ...
if (typeof foo === 'object') {
  for (const property in value) {
    foo[property] = transformIt(foo[property])
  }
}

当我对此运行 eslint 时,它抱怨任何值的分配不安全,但我不知道如何让它快乐。希望对此有任何见解。

【问题讨论】:

    标签: typescript-eslint


    【解决方案1】:

    How to check if type has index signature at runtime 有答案。以为我自己尝试过,但现在似乎可以了。

    function hasIndexSignature(v: any): v is {[index: string]: any} {
      return typeof v === 'object'
    }
    
    let foo: any = ...
    if (hasIndexSignature(foo)) {
      for (const property in value) {
        foo[property] = transformIt(foo[property])
      }
    }
    
    

    【讨论】:

      猜你喜欢
      • 2019-03-16
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      相关资源
      最近更新 更多