[英]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.