打脸了!ES10 的 Object.fromEntries 其实被 TS 识别了!

阅读时长 3 分钟读完

在 JavaScript 的 ES10 中,我们有一个非常方便的方法 Object.fromEntries,它可以将键值对数组转换为对象。然而,在 TypeScript 中,却会提示找不到 Object.fromEntries 的定义。这时,很多人以为 TypeScript 没有支持 Object.fromEntries,但是实际上,这个方法是可以被 TypeScript 识别的!

Object.fromEntries 的用法

先来回顾一下 Object.fromEntries 的用法。它接收一个数组作为参数,数组中的每一项都必须是一个二元数组,第一个元素是键,第二个元素是值。这个方法会将这些键值对转换为一个对象并返回。

下面是一个例子:

TypeScript 不支持 Object.fromEntries

在 TypeScript 中使用 Object.fromEntries 时,可能会遇到类似下面的错误:

这是因为 TypeScript 内置类型声明文件中没有定义 Object.fromEntries 这个方法。但是,只要我们手动给 TypeScript 增加对 fromEntries 的类型声明,它就能正常工作了。

给 TypeScript 增加类型声明

我们要做的就是在自己的 TypeScript 代码中声明一下 Object.fromEntries 的类型,就像这样:

然后,就可以愉快地使用 Object.fromEntries 了:

总结

今天,我们学习了如何在 TypeScript 中使用 Object.fromEntries 方法。虽然 TypeScript 自带的类型声明文件中没有定义这个方法,但是我们只需手动增加一个类型声明就能让 TypeScript 正确识别它。希望这篇文章对你有所帮助!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/658556fbd2f5e1655dffe91c

纠错
反馈