gpt4 book ai didi

javascript - 当浏览器不支持功能时,我如何知道是否存在 polyfill 或 Babel 插件?例如 : accessors

转载 作者:行者123 更新时间:2023-11-29 23:17:52 25 4
gpt4 key购买 nike

我可以看到 here IE 不支持 setter/getter 。

我如何知道是否存在某些 polyfills/Babel 插件以便我可以在我的 web 应用程序中使用它?

最佳答案

你一定是误会了什么。在您提到的页面上,它说从 IE 9 开始支持 getter/setter(因此,IE 11 也应该可用)。检查Browser compatibility部分。

但是 get/set 语法只是旧 Object.defineProperty() 的语法糖.例如:

var bValue = 38;
var o = {
get b () { return bValue; },
set b (newValue) { bValue = newValue; }
}

等于:

var o = {}; // Creates a new object
var bValue = 38;
Object.defineProperty(o, 'b', {
get() { return bValue; },
set(newValue) { bValue = newValue; },
enumerable: true,
configurable: true
});
console.log(o.b); // 38

所以,如果你真的需要它,你可以使用它。

作为Jared Smith well pointed通过使用 eval(另一种选择是将您的代码作为字符串传递到 new Function),技术上可以在运行时检测是否支持新语法。无论如何,这不是处理旧浏览器的最佳方式,所以如果你想使用 ES6 语法编写代码,但能够在旧浏览器中使用它,请使用像 babel 这样的工具,它会正确地转换你的代码,所以它会被旧浏览器支持。

关于javascript - 当浏览器不支持功能时,我如何知道是否存在 polyfill 或 Babel 插件?例如 : accessors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52065813/

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