美文网首页
箭头函数

箭头函数

作者: 你喜欢吃青椒吗_c744 | 来源:发表于2019-07-29 19:42 被阅读0次
  • 箭头函数表达式的语法比函数表达式短,并且不绑定自己的 this,arguments,super或 new.target。
  • 此外,箭头函数最好在非方法函数中使用,且不能用作构造函数。
  • 不能用作构造器,和 new 一起用就会抛出错误。所以也没有 new.target 值
  • 箭头函数没有原型属性。由于不能使用 new 调用箭头函数,所以也没有构建原型的需求,于是箭头函数也不存在 prototype 这个属性。
  • yield 关键字通常不能在箭头函数中使用(除非是嵌套在允许使用的函数内)。因此,箭头函数不能用作生成器。
  • 箭头函数在参数和箭头之间不能换行哦

箭头函数的引入有两个方面的作用:一是更简短的函数书写,二是对 this的词法解析

基本语法

let func = value => value;
//相当于:
let func = function (value) {
    return value;
};
//如果需要给函数传入多个参数:
let func = (value, num) => value * num;
//如果函数的代码块需要多条语句:
let func = (value, num) => {
    return value * num
};
//要加{ }
//与变量解构结合:
let func = ({value, num}) => ({total: value * num})

// 使用
var result = func({
    value: 10,
    num: 10
})

console.log(result); // {total: 100}

this

箭头函数没有 this,所以需要通过查找作用域链来确定 this 的值。
这就意味着如果箭头函数被非箭头函数包含,this 绑定的就是最近一层非箭头函数的 this。

    <script>
        let a = function (x) {
            this.x = x
            console.log(this.x);// 1
            let c = () => {
                console.log(this.x); //1
                console.log(this); //window
            }
            c()
        }
        a(1);
    </script>

首先,箭头函数里没有x,我用this.x调用的是a里面的。此时,a里面又的this是作用于全局的。所以在箭头函数里console.log(this)打印出来window

  • 箭头函数没有this,换句话来说,箭头函数在哪个作用域下,箭头函数的this就是调用的就是父作用域。(箭头函数本身有一个作用域)

参考文章

深入理解ES6中的箭头函数
ES6 系列之箭头函数
JavaScript初学者必看“箭头函数”

相关文章

  • ES6~箭头函数

    什么是箭头函数 单表达式箭头函数 相当于 多表达式箭头函数 箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有...

  • 箭头函数和立即执行函数

    箭头函数 箭头函数和普通函数有什么区别?如果把箭头函数转换为不用箭头函数的形式,如何转换主要是this的差别,箭头...

  • 学习 ES 6 箭头函数

    箭头函数的用法 ES6 允许使用“箭头”(=>)定义函数。 箭头函数的一个用处是简化回调函数。 箭头函数 this...

  • 箭头函数

    箭头函数 箭头函数能让this的指向固定化 分析:1)第一个setInterval()中使用了箭头函数,箭头函数使...

  • TS  笔记this

    this 箭头函数在箭头函数创建的地方获得this;非箭头函数,在调用函数的地方获得this如图

  • 箭头函数和数组

    箭头函数&数组 箭头函数 特点: 没有 this 没有 arguments 没有prototype在箭头函数中使用...

  • 箭头函数

    箭头函数 为什么使用箭头函数

  • 箭头函数中this的指向

    箭头函数在平时开发中用着非常爽,箭头函数有什么特点呢 箭头函数不能够当做构造函数使用 箭头函数没有argument...

  • js学习笔记4(函数)

    1.箭头函数 ES6新增属性。箭头函数特别适合嵌入函数的场景。 箭头函数虽然语法简介,但是很多场合不适用。箭头函数...

  • js理解普通函数和箭头函数

    普通函数: 箭头函数: 区别: 构造函数和原型 箭头函数不能作为构造函数 不能new。会报错 箭头函数没有原型属性...

网友评论

      本文标题:箭头函数

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