了解ES6中的箭头

时间:2017-04-12 05:47:30

标签: javascript react-native ecmascript-6

基于参考:

  

箭头是使用=>语法的函数简写。

我也无法理解。如何在字面上使用function来编写以下代码?

AppRegistry.registerComponent('Component2', () => Component2);

好的,让我们专注于此:

() => Component2
  • 什么是()?这是我想传递的价值吗?
  • 什么是=>?它是function这个词的替代品吗?所以我们可以把它写成() function Component2(我几乎不这么认为)
  • 什么是Componenet2?它是一个函数的名称吗?还是上课?或究竟是什么?

5 个答案:

答案 0 :(得分:2)

() => Component2等效于以下内容:

function(){
    return Component2;
}

左边的空括号()表示你的函数没有参数,而箭头=>表示你的函数返回。

下面是一个片段,其中我们有一个函数,它需要两个值并返回它们的总和。

var add = (x,y) => x+y;
console.log(add(3,4));

可以找到箭头功能的详细文档here

答案 1 :(得分:2)

你可以不用es6重写它:

AppRegistry.registerComponent('Component2', function(){
 return Component2;
});

这种格式基本上是:

(arguments) => returnValue

你可以像这样传递一个参数:

AppRegistry.registerComponent('Component2',(arg1, arg2) => Component2);

带参数的更通用的例子是:



var print = (message) => console.log(message)
print('Hello World')




答案 2 :(得分:2)

ES06中的

() => Component2解释:

()表示没有参数的匿名function=>特殊符号或ES06箭头功能。 Component2是返回的值。

一般来说,它代表:

function(){
    return Component2;
}

答案 3 :(得分:2)

AppRegistry.registerComponent(' Component2',()=> Component2);

让我们专注于()=> COMPONENT2;

如果你在ES5中有这样的功能:

function fun(a,function(){ console.log(a);});

在ES6中,它可以写成:

function fun(a,()=>{console.log(a)});

所以你可以说它只是用新的ES6方式编写函数的简写

在你的情况下,Component2是上面例子中的一个对象,代码可以写成:

var obj = {console.log(a)};
function fun(a,()=>obj);

结果将是相同的。

答案 4 :(得分:1)

  

什么()?这是我想传递的价值吗?

()是声明函数参数的语法,在这种情况下没有参数。

  

什么是>?它是功能性词语的替代品吗?所以我们可以把它写成()函数Component2? (我几乎不这么认为)

它不是function的直接替代品,不,你不能只在那里插入单词功能并希望事情能够发挥作用。箭头语法的替代方法是function() {}

  

什么是Componenet2?它是一个函数的名称吗?还是上课?或究竟是什么?

它很可能是一个类,(可能是一个基于名称的React组件),因为它在CamelCase中,这是用Javascript编写类的方式。 () => Component2是一个箭头函数,它不带参数并返回Component2