覆盖Object.entries()的类型会导致意外错误

Object.entries像这样覆盖:

interface ObjectConstructor {
  entries<T extends Record<string, any>>(o: T): {
      [K in keyof T]: [K, T[K]];
  }[keyof T][];
}

它通常工作正常。但是,在某些情况下,我得到:

Type '["alignContent", AlignContent | undefined] | ["alignItems", AlignItems | undefined] | ["alignSelf", AlignSelf | undefined] | ... 781 more ... | undefined' must have a '[Symbol.iterator]()' method that returns an iterator.

联合中的最后一个类型是undefined,使我无法像这样解构:

const style: Partial<React.CSSProperties> = {
  height: '123px',
};
for (const [k, v] of Object.entries(style)) {
  ...
}

根据类型定义,它永远不应该 return undefined。为什么它回来了undefined?我想省略undefined.

以上是覆盖Object.entries()的类型会导致意外错误的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>