【问题标题】:what is this syntax in javascript of '=>' mark [duplicate]'=>'标记的javascript中的这种语法是什么[重复]
【发布时间】:2015-10-13 05:07:25
【问题描述】:

的语法是什么
then((response) => response.json())

在 JavaScript 中?

我搜索了很多,但没有找到 => 的解释。

【问题讨论】:

  • 谷歌Arrow Functions in ES6。代码:(response) => response.json() 等价于function(response) { return response.json(); }
  • 与在 ES6 中使用箭头函数编写 then(function(response){...}) 相同

标签: javascript react-native


【解决方案1】:

这些被称为箭头函数。一个例子:

// ES5
var selected = allJobs.filter(function (job) {
  return job.isSelected();
});

// ES6
var selected = allJobs.filter(job => job.isSelected());

你可以在ES6 In Depth: Arrow functions找到更详细的解释。

语法:

如果你传递一个参数,那么它就像

var x = i=> i;

// which is equivalent to:

var x= function(i) {
    return i;
};

另请注意,箭头函数中没有明确的 return 语句,那么它也将返回传递给它的参数。

现在,如果您要传递两个参数,如下所示:

var x= (i1, i2) => i1 + i2;

// which is equivalent to:

var x= function(i1, i2) {
    return i1 + i2;
};

在这种情况下,您需要在括号内传递两个参数。

如果你的函数没有任何参数,那么你需要像这样放置空括号:

var x = () => 1 + 2;

// which is equivalent to:

var x = function() {
    return 1 + 2;
};

【讨论】:

  • 这很有帮助,但缺少一件事。在他的示例中(我认为它来自 react-native 教程 - 所以会有很多人在寻找这个!)输入参数周围有括号。这是什么意思?
  • 我现在明白了:提供多个参数的语法是一种奇怪的用法——它是箭头函数的一个参数的列表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-15
  • 1970-01-01
  • 1970-01-01
  • 2015-09-24
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
相关资源
最近更新 更多