如何运行 ES6 code with arrow functions in Safari?
How to run ES6 code with arrow functions in Safari?
出于某种原因,运行 在当前 Chrome 或 Firefox 中运行良好的 ES6 代码无法在 Safari 中 运行 - 例如,arrow functions。据我所知,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 link,(靠近底部),Safari 尚不支持此功能。
没有arrow-functions需要重写。
Afaik,除了语法之外的唯一区别是 arrow-functions 保留上下文。因此,您需要额外编写一行来绑定上下文并将其与其他参数一起传递。
(不支持arrow-functions也挺好的,这样没有新技术的第三世界就不会被遗忘。)
这更可重用:
array = [2,4,6]
function square(array) {
array.map(function(item) {console.log(item*item)} )
}
square(array)
出于某种原因,运行 在当前 Chrome 或 Firefox 中运行良好的 ES6 代码无法在 Safari 中 运行 - 例如,arrow functions。据我所知,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 link,(靠近底部),Safari 尚不支持此功能。
没有arrow-functions需要重写。
Afaik,除了语法之外的唯一区别是 arrow-functions 保留上下文。因此,您需要额外编写一行来绑定上下文并将其与其他参数一起传递。
(不支持arrow-functions也挺好的,这样没有新技术的第三世界就不会被遗忘。)
这更可重用:
array = [2,4,6]
function square(array) {
array.map(function(item) {console.log(item*item)} )
}
square(array)