ES6 箭头函数

本文介绍了ES6中引入的箭头函数,对比了传统函数的使用方式,强调其简洁性。详细讲解了箭头函数的细节,包括单参数时括号的省略、单行代码时花括号的省略、不具有的`arguments`对象以及不同作用域下的`this`指向。同时,通过实例展示了箭头函数如何实现默认参数,并讨论了其在回调函数中的应用,如`setTimeout`内的`this`值。
摘要由CSDN通过智能技术生成

ES6 箭头函数

在es6版本出来之前,我们声明函数的方式都是利用function关键字来声明,显然,这种方式在有些时候显得有些麻烦,ECMAScript6推出了箭头函数。

首先来一段代码

       let test = function () {
            console.log('1111');//1111
        }
        let test1 = () => {
            console.log('1111');//1111
        }
        test()
        test1()

这两种代码的方式都是等价的!第二种方式就是我们所称的箭头函数

下面我们来看看箭头函数的几个细节

  • 只有一个形参时候括号可以省略
   let test = (a) => {
            console.log(a);
        }
        let test1 = a => {
            console.log(a)
        }
        test(1)
        test1(1)
  • 只有一句代码或者只有返回值的时候,可以省略{}
   let test = a => console.log(a);

        let test1 = a => {
            console.log(a)
        }
        test(1)
        test1(1)
  • 箭头函数没有arguments

arguments就是当函数没有形参的时候,传入实参所接受的地方!

    let test = function () {
            console.log(arguments);//arguments[3]
        }

        let test1 = () => {
            console.log(arguments)//报错
        }
        test(1, 2, 3)
        test1(1, 2, 3)
  • 箭头函数没有this | this指向父级作用域的
        <input type="text" id="mytext">
		mytext.oninput = function () {
            // var that = this
            setTimeout(() => {
                console.log(this.value)//input
            }, 1000)
        }

        mytext.oninput = function () {
            // var that = this
            setTimeout(function () {
                console.log(this)//window
            }, 1000)
        }
  • 函数的默认参数
  let test = (a = 1, b = 2) => a + b
        console.log(test());//3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值