gpt4 book ai didi

javascript - "then"编译成什么,以便它在旧浏览器中工作?

转载 作者:行者123 更新时间:2023-11-30 09:17:26 24 4
gpt4 key购买 nike

新年快乐!

我正在看 React udemy 教程(来自 Maximillian Schwarzmüller 的教程),那个人告诉我我可以毫无问题地使用异步 ES6 函数 .then(),因为它也可以在旧版浏览器中运行“因为代码被编译为也适用于旧浏览器的代码”

现在我问自己,.then() 被编译成什么,以便它也能在旧浏览器中工作?

他的意思是它通过理解它的渲染引擎被编译成一些 C++ 渲染的东西,还是他的意思是它被编译成更容易的普通 javascript,比如 ES6 箭头函数通过 Babel 被编译成?

难道我对“编译”这个词理解错了?我有点困惑。

非常感谢! :)

最佳答案

What does .then() get compiled to, so that it will also work in older browsers?

完全没有区别。使用 ES6 promises 的代码在语法上仍然是有效的 ES5 代码(假设它没有使用其他 ES6 特性),不像新语法(例如箭头函数、类定义等)它不需要被转换。

then 只是一个普通的方法调用(在 ES5 和 ES6 中),但是方法的定义由 ES6 环境提供。在开始使用 promise 的 ES5 中,您需要包含一个 promise 库(如 Q 或 Bluebird)。要使假定 ES6 Promise 存在的代码在旧浏览器中运行,您需要一个 polyfill(例如来自 one of these 列表)。 polyfill 只是一个实现相同 API 的小型 ES5 脚本。

关于javascript - "then"编译成什么,以便它在旧浏览器中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54053505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com