javascript-使用可能存在或可能不存在的接口修改全局

前端之家收集整理的这篇文章主要介绍了javascript-使用可能存在或可能不存在的接口修改全局 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在浏览器和节点之间共享一些代码,并且我想使用Performance.now()代替Date.now()(如果可用).不幸的是,在节点中,性能不可用,打字稿给我一个错误.我可以添加整个dom库,但这可以吸收所有内容,我想避免这样做,因为它最终会掩盖真正的错误.因此,如何修改全局名称空间以说:“嘿,这种名称性能可能存在或可能不存在”

对于它的价值,这是我试图在节点和浏览器中进行干净编译的行:

@H_502_7@const lastUpdate = typeof performance !== undefined ? performance.now() : Date.now();

这是我得到的错误

error TS2304: Cannot find name ‘performance’.

最佳答案
typeof返回的值是字符串“ undefined”,而不是undefined.因此,您的比较应为:

@H_502_7@const lastUpdate = typeof performance !== 'undefined' ? performance.now() : Date.now();

MDN开始:

The typeof operator returns a string indicating the type of the unevaluated operand.

猜你在找的JavaScript相关文章