繁体   English   中英

如何在 Safari 中使用箭头函数运行 ES6 代码?

[英]How to run ES6 code with arrow functions in Safari?

出于某种原因,在当前 Chrome 或 Firefox 中运行良好的 ES6 代码无法在 Safari 中运行——例如, 箭头函数 据我所知,Safari 对 ES6 有很好的支持。 有什么需要做的吗?

例子:

var arr = [1,3,5].map((i) => i*i);
console.log(arr);

或者如果它是一个完整的.html文件:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>

        <script>
            "use strict";

            var arr = [1,3,5].map((i) => i*i);
            console.log(arr);

        </script>
    </body>
</html>

Safari(我使用的是 9.0.3)不断给出SyntaxError: Unexpected token '>'

根据MDN 链接(靠近底部),Safari 尚不支持此功能。

您需要在没有箭头函数的情况下重写它。

Afaik,除了语法之外的唯一区别是箭头函数保持上下文。 因此,您需要编写额外的行来绑定上下文并将其与其他参数一起传递。

(不支持箭头函数很好,这样没有新技术的第三世界就不会被遗忘。)

这是更可重用的:

array = [2,4,6]
function square(array) {
    array.map(function(item) {console.log(item*item)} )
}
square(array)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM