美文网首页
关于es2015箭头函数的大括号代码块部分的一点理解

关于es2015箭头函数的大括号代码块部分的一点理解

作者: 徐国军_plus | 来源:发表于2018-02-17 03:22 被阅读68次

背景:在react中,遍历一个数组,生成一系列input插入dom

错误代码:

{phones.map((phone, index) => {
    <div key={index}>{index}</div>
})}

控制台源码:

phones.map(function (phone, index) {
    _react2.default.createElement(
        'div',
        { key: index },
        index
    );
})

这里只是创建了元素节点,并没有return返回dom节点,结果页面没有插入创造的dom节点。

正确代码:(去掉大括号)

{phones.map((phone, index) => 
    <div key={index}>{index}</div>
)}

控制台源码:

phones.map(function (phone, index) {
    return _react2.default.createElement(
        'div',
        { key: index },
        index
    );
})

这里有return,结果页面插入dom节点。

实践:

不使用大括号,arrow function默认添加return。
而使用大括号,就只是一个代码块,so arrow function的return不会添加,需要的话必须手动添加。

一般使用箭头函数时,代码块部分只有一条语句时,不使用大括号:

var sum = (num1, num2) => num1 + num2
//同样的写法
var sum = (num1, num2) => { return num1 + num2 }

等同于

var sum = function(num1, num2) {
  return num1 + num2;
};

如果有多条语句,使用大括号,同时使用return(否则没有返回值):

var sum = (n1, n2) => {
  console.log(n1);
  return n1 + n2
}

使用箭头函数返回对象:必须在对象外面加上括号,否则就只是个代码块,从而就不会返回对象了:

var sum = () => ({name: 'a'})

等同于

var sum = function sum() {
  return { name: 'a' };
};

相关文章

  • 关于es2015箭头函数的大括号代码块部分的一点理解

    背景:在react中,遍历一个数组,生成一系列input插入dom 错误代码: 控制台源码: 这里只是创建了元素节...

  • es6中箭头函数return的用法

    如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return关键字返回,前提是这个方法支...

  • 11- ES6 箭头函数

    1、箭头函数 由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。 如...

  • JScript语言——ES6(ES2015)

    ES6(ES2015)语法介绍 变量声明let、const 块级作用域 解构赋值 箭头函数清楚简写形式箭头函数的t...

  • 2018-11-05

    箭头函数 基本用法: 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。 如果箭头函数的代码块部...

  • 箭头函数

    基本用法 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。 如果箭头函数的代码块部分多于一条语...

  • 箭头函数

    定义函数的方式 函数体中只有一句代码,而且有返回值可以省略大括号 箭头函数如果形参只有一个,小括号可以省略 箭头函...

  • ES6语法

    作用域的概念 es2015函数作用域全局作用域 es6函数作用域全局作用域块作用域(新增,标识:有大括号包围的)P...

  • 01.ES6箭头表达式

    安装nodejs略安装vscode略 1.单行箭头表达式: 2.多行箭头表达式(函数代码有多行,必须使用{}大括号...

  • ES6 --- 箭头函数

    箭头函数的作用: 让this 变得可以理解 让代码变得更简洁 箭头函数的基本语法 箭头函数只能做赋值,不能做声明 ...

网友评论

      本文标题:关于es2015箭头函数的大括号代码块部分的一点理解

      本文链接:https://www.haomeiwen.com/subject/dlrmtftx.html