所属分类:web前端开发
在es6中,箭头函数是一种使用“=>”定义函数的新语法;箭头函数的函数体内的this指向始终是指向定义它所在的对象,而不会指向调用它的对象,并且不可以改变this的改变,语法为“let fun=(参数) => {函数体};”。
前端(vue)入门到精通课程:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
在ES6中,箭头函数是其中最有趣的新增特性。顾名思义,箭头函数是一种使用箭头(=>)定义函数的新语法,但是它与传统的JavaScript函数有些许不同,主要集中在以下方面:
没有this、super、arguments和new.target绑定,其值由外围最近一层非箭头函数决定
不能通过new关键字调用
没有原型
不可以改变this的绑定
不支持arguments对象
不支持重复的命名参数
函数体内的this的指向始终是指向定义它所在的对象,而不会指向调用它的对象,我们知道es5中的函数是谁执行它,它就指向谁。
如下:
var f = v = > v;
//等同于
var f = function(v){
return v;
}
var sum = (num1,num2) => num1+num2 ;
//等同于
var sum = function(num1,num2){
return num1+num2
}
[1,2,3].map(function (x) {
return x * x;
});
// 箭头函数写法
[1,2,3].map(x => x * x);//简洁了许多
登录后复制
从例子我们可以看出,省略了function,花括号‘{}’用‘=>’代替了。这种写法更简洁了。
示例如下;
//1、参数默认值 位置在所有形参的后面
//es6之前的采取的默认值只能变相采取
function test(a,b) {
a=a||2;
b=b||2;
return a*b
}
console.log(test());
//但是这个有弊端 当我们传递的值为0的时候,还是会走默认值。改造之后
function test1(a,b) {
a=typeof a==="undefined"?2:a;
b=typeof b==="undefined"?2:b;
return a*b
}
console.log(test1(0,0))
// es6为我们提供了默认值
// 语法糖: function(a,b=2){}
let test2=(a=2,b=2) =>{
return a*b
};
console.log(test2());
登录后复制
输出结果:
【相关推荐:javascript视频教程、web前端】
以上就是es6箭头函数是什么意思的详细内容,更多请关注zzsucai.com其它相关文章!