精华内容
下载资源
问答
  • 箭头函数

    2021-03-14 12:25:02
    箭头函数

    查看MDN中更详细的文档

    箭头函数

    箭头函数表达式没有自己的this,arguments,super或new.target。

    引入箭头函数作用

    引入箭头函数的作用:更简短的函数并且不绑定this

    更简短的函数

    目录

    箭头函数

    引入箭头函数作用

    更简短的函数

    不绑定this

    通过call、apply调用箭头函数

    不绑定arguments

    箭头函数不能使用new操作符

    箭头函数没有prototype属性

    箭头函数不能用作生成器

    返回对象字面量时

    函数的默认参数


    let sum = (x,y,z) => { return x+y+z; }
    

    不绑定this

    在箭头函数出现之前,每个新定义的函数都有他自己的this值。(在构造函数的情况下是一个新对象,在严格模式的函数调用中为 undefined,如果该函数被作为“对象方法”调用则为基础对象等)。

    通过call、apply调用箭头函数

    由于箭头函数没有自己的this指针,通过call()、apply()方法调用时,第一个参数会被忽略。(箭头函数中若用了this,这个this指向包裹箭头函数的第一个普通函数的 this。)

    不绑定arguments

    大多数情况下,使用剩余参数是相较于arguments对象的更好选择。

    箭头函数不能使用new操作符

    箭头函数不能用作构造器,和 new一起用会抛出错误。

     

    var Foo = () => {};
    var foo = new Foo(); // TypeError: Foo is not a constructor
    

    箭头函数没有prototype属性

    箭头函数不能用作生成器

    yield 关键字通常不能在箭头函数中使用(除非是嵌套在允许使用的函数内)。因此,箭头函数不能用作生成器。

    返回对象字面量时

    箭头函数返回简单值时可以简写成:

     

    let sum = ( x, y ) => x + y
    

    but返回对象字面量时不口以这样var func = () => {foo: 1},需要用圆括号括起来

     

    var func = () => ({foo: 1});
    

    以下跟箭头函数没啥关系咯~~

    函数的默认参数

    没有默认参数时要进行检查检查~

     

    function multiply(a, b) {
      b = (typeof b !== 'undefined') ?  b : 1;
      return a * b;
    }
    

    有了默认参数后~优雅的写代码

     

    function multiply(a, b = 1) {
      return a * b;
    }



    作者:何大必
    链接:https://www.jianshu.com/p/f853d6a7b548
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,647
精华内容 6,258
关键字:

箭头函数