URCloud

/ 0评 / 4/ 最后更新:2021-12-06
Object.keys在typescript中的使用

需求场景

当在ts中使用Object.keys时会报错。

    Object.keys(Detail).forEach((key) => {
        Detail[key] = res.data[key];
    });

解决方案

看到很多解决方案,最后发现国外一大佬的解决方案是最好的,通过重新定义Object的ts声明文件解决。

type ObjectKeys<T> =
  T extends object ? (keyof T)[] :
  T extends number ? [] :
  T extends Array<any> | string ? string[] :
  never;
interface ObjectConstructor {
  keys<T>(o: T): ObjectKeys<T>
}

参考文档

typescript-better-object-keys

4

Leave a Reply

Your email address will not be published.