阿奎认为的箭头函数和普通函数的区别

//标准写法
  let fun = (val) => {
    return val
  }
  console.log(fun('阿奎'))

  //简易写法
  //如果只有一个参数可以将()省略,如果只有一个表达式不需要换行可以省略{}和return
  let fun = val => val
  console.log(fun('阿奎'))
  
一、箭头函数不能作为构造函数,不能使用new实例化
	new实例化函数步骤
	 1new 创建一个空对象
	 2、执行构造器
	 3、把所有this替换成{}
	 4、最终返回这个空对象

	箭头函数之所以不能实例化,是因为他没有自己的this,不能执行下面第三步
	 1new 创建一个空对象
	 2、执行构造器
	 3、把所有this替换成{}
	 4、最终返回这个空对象
 
 二、箭头函数不绑定arguments,取而代之需要用展开运算符解决...解决
  function fun(){
    console.log(arguments)
  }
  fun(1,2,3,4,5)

  let fun = (...argm) => {
    console.log(argm)
  }
  fun(1,2,3,4,5)
  
三、箭头函数没有自己的this,会捕获其所在的上下文的this值,作为自己的this值
	箭头函数的this在定义的时候就 "固定" 不变了

四、箭头函数没有原型属性
  let fun = () => {}
  console.log(fun.prototype)//undefined
  
  function fun1(){}
  console.log(fun1.prototype) {constructor: ƒ}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值