【发布时间】:2017-02-06 00:35:32
【问题描述】:
使用 core-js 填充的函数(例如,babel-polyfill)显示为原生函数。
Promise.race.toString() 产生:
function race() {
[native code]
}
Object.values.toString() 也是如此。
虽然它们肯定不是浏览器的原生实现。示例为Babel REPL 页面。
开发人员如何以编程方式检查函数不是原生实现,而是模仿原生函数的 polyfill(例如,当已知特定的 polyfill 可能导致应用程序出现问题时)?
通常native code 正则表达式会有所帮助,但肯定不是这样。
如何从这些函数中检索源代码?我主要对 Node.js 感兴趣,但欢迎跨平台解决方案。
这个技巧到底是怎么做到的?我在core-js 和babel-polyfill 源代码中找不到任何native code 搜索。
【问题讨论】:
标签: javascript node.js babeljs babel-polyfill