ES6允许函数参数设置默认值和新增箭头函数

函数的参数默认值

ES6允许为函数的参数设置默认值,如下例:

function Point(x =0,y=0){
this.x=x:
this.y=y;
}
var p= new Point ( );
console.log§; // p={x:o,y:0}

函数参数定义默认值之后,就不能再在函数体里用let和const了,如下面这样就是错的:

function show(a=18){
let a = 101;
}
show( );

箭头函数

ES6允许使用“箭头” (=>)定义函数
(参数) =>{ 多行语句用大括号,一条语句可不写 };等同于 function(参数){ };

var f=v=>v;
上面的箭头函数等同于:
var f= function(v){
return v;
};

如果只有一个参数,小圆括号可以省略。
var sum =(num1, num2)=> num1+num2;
//等同于
var sum= function (num1, num2){
return num1+num2;
};

如果箭头函数的代码块部分多于一条语句,就要使用大括号{ }将它们括起来,并且使用 return语句返回。
var sum =(num1, num2)=> { return num1+num2; }
由于大括号被解释为代码块,因而如果箭头函数直接返回一个对象,必须在对象外面加上括号。

var getTempItem = id =>({ id: id, name: “Temp" })

总结:
函数体内的this对象,绑定定义时所在的函数对象,而不是使用时所在的对象。由于this在箭头函数中被绑定,所以不能用call()、 apply()、 bind()这些方法去改变ths的指向。

箭头函数不可以当作构造函数,也就是说,不可以使用new命令,否则会报错。箭头函数没有arguments,不可以使用 arguments对象,该对象在函数体内不存在,但可以用扩展运算符…。

let show =(…args) =>{
console.log(args); //[1,2,3,4]
}

show(1,2,3,4)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值