111

205 阅读1分钟

12121

函数的扩展分为几方面: 1、箭头函数 2、默认参数![The goodest

箭头函数 箭头函数可以省略到很多东西,以使代码更加的简介优雅: a.可以省去function b.可以省去return c.省略括号 比如我们将一个数组的每一项求一个平方,在返回一个数组新数组 es5 和es6的写法一对比,是不是优雅简介了不少,爽到飞起有没有。 当然, 首先,我们上图中因为只有一个参数所以可以省略掉括号, 其次,当函数体只有一个 return语句时,可以省略掉外面的{ } 和return关键字。另外当 返回的是 一个对象时 因为 对象的 {} 会和函数体的{} 引发歧义,所以用()包起来,像这样。 es5中的this 是对象本身,而箭头函数的this, 在node环境下是一个空对象在浏览器下是全局的window对象。为什么这样呢,因为箭头函数有一个特性它没有自己的this,它的this是它被定义的时候,那个环境的this (特性有什么用呢?我们常常写react的就会知道,写一个自定义的时间,会在constract里写一个类似于 this.handleClick = this,handleClick.bind(this),如果我们用箭头函数即可省略bind this),在我们这里就是全局的this, 同时因为没有this,所以不能被当做构造函数用。

默认参数

需要注意一点,如果有多个参数,那么带默认参数的值最好放在尾部,因为只有值为undifine时才生效,不然会代码会不优雅。