美文网首页
ES6的箭头符号

ES6的箭头符号

作者: 6f1e4e8dd1ef | 来源:发表于2017-04-11 22:35 被阅读1041次

箭头符号在JS中一直扮演着重要的角色。在JS教程里,一开始都会介绍如何使用箭头括号来加注释。

我们先回顾下箭头符号的一般用法:

--!>  单行注释

<=   小于等于

=>   ?

=>是ES6中新的用法。

函数表达式无处不在

JavaScript中有一个有趣的特性,无论何时,当你需要一个函数时,你都可以在想添加的地方输入这个函数。

箭头函数的产生,主要由两个目的:更简洁的语法和与父作用域共享关键字this

为什么叫Arrow Function?因为它的定义用的就是一个箭头:

x =>x * x;

相当于:

function (x){

return x*x;

}

箭头函数简化的了函数的定义,省略了“function” “{}”“return”

包含多个语句时,不能省略“{}”和“return”

x => {

if (x > 0) {

return x * x;

} else {

return - x * x;

}

}

如果参数不是一个,用括号括起来:

如果要返回一个对象,就要注意,如果是单表达式,这么写的话会报错:

var a = (x)=>{age:x};console.log(a(12)); //undefined

因为和函数体的{ ... }有语法冲突,所以要改为:

var b = (x)=>({age:x});console.log(b(12)); // { age: 12 }

箭头函数和ES5的函数有什么不同呢?

先来欣赏一段常见的代码

再来修改我们欣赏的这段代码

回顾下JS中this的指向问题

有对象就指向调用对象

函数有所属对象时,通常通过表达式调用,这时 this 自然指向所属对象。比如下面的例子:

getValue() 属于对象 myObject,并由 myOjbect 进行调用,因此 this 指向对象 myObject

没调用对象就指向全局对象

用new构造就指向新对象

通过 new 关键词来调用构造函数,此时 this 会绑定在该新对象上

通过 apply 或 call 或 bind来改变 this 的所指

apply() 方法接受两个参数第一个是函数运行的作用域,另外一个是一个参数数组(arguments),意思就是将当前函数的上下文进一步扩大到调用的对象上下文上。

call() 方法第一个参数的意义与 apply() 方法相同,只是其他的参数需要一个个列举出来。

见证奇迹的时刻:看看使用箭头函数后this的指向

箭头函数this的指向会指向最外层的obj对象

箭头函数有几个使用注意点

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用Rest参数代替。

相关文章

  • Promise

    es6 Promise resolve 成功 reject失败 体验箭头符号写法,都是箭头符号可让代码变得简洁...

  • ES6的箭头符号

    箭头符号在JS中一直扮演着重要的角色。在JS教程里,一开始都会介绍如何使用箭头括号来加注释。 我们先回顾下箭头符号...

  • ES6箭头函数简介

    @(JS技巧)[ES6|箭头函数] ES6箭头函数(Arrow Functions) ES6可以使用“箭头”(=>...

  • es6全家桶(二)—— 箭头函数

    es6全家桶(二)—— rest参数、箭头函数 箭头函数 ES6 允许使用“箭头”(=>)定义函数。 var f ...

  • es6、js、css、jquery、vue以及程序设计 知识点总

    es6 列举常用的es6特性。 箭头函数this的指向。 eg:箭头函数的特性 箭头函数内部没有construc...

  • 箭头

    箭头符号 更多的箭头符号 下总结字符 含义\uparrow ↑↑\downarrow ↓↓\Uparro...

  • 特殊符号大全

    箭头符号 ←↑→↓↙↘↖↗↰↱↲↳↴↵↶↺↻↷➝⇄⇅⇆⇇⇈⇉⇊⇋⇌⇍⇎⇏⇐⇑⇒⇓⇔⇕⇖⇗⇘⇙⇚⇛↯↹↔↕⇦⇧⇨⇩➫...

  • 箭头函数

    ES6允许使用“箭头”(==>)定义函数。 箭头函数 等同于

  • 关于箭头函数 this的指向问题

    ES6 允许使用 “ 箭头 ” (=>)定义函数。 箭头函数 填 坑。 this的指向是 向上查找 非箭头...

  • JavaScript箭头函数

    ES6新语法箭头函数 箭头函数是ES6新语法,因为语法简单、可读性好,所以使用的也很多。箭头函数也是匿名函数,区别...

网友评论

      本文标题:ES6的箭头符号

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