为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第16天 再学JavaScript ES(6-10)全版本语法大全

标签:
JavaScript

课程名称:再学JavaScript ES(6-10)全版本语法大全
课程章节:2-21 Arrow Functions(箭头函数)
课程讲师:快乐动起来呀
课程内容:
ES5声明函数两种形式:

function f(){

}

let f = function(){

}

ES6声明函数允许使用“箭头”(=>)定义函数。

var f = z => z;

// 等同于
var f = function (z) {
  return z;
};

小括号
有且只有一个参数时,小括号可以省略
如果没有参数,或者参数多于1个参数,小括号不可以省略

花括号
返回的是表达式,可以省略return和{}
返回的是字面量对象(即有花括号),可以省略return和{},但是对象要用小括号括起来(对象的花括号括在小括号内,小括号在这里当做运算表达式的作用)
返回其它的值,都不可以省略return和{}

箭头函数有几个使用注意点
箭头函数没有自己的this对象
不可以当作构造函数,也就是说,不可以对箭头函数使用new命令,否则会抛出一个错误
不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替
不可以使用yield命令,因此箭头函数不能用作 Generator 函数

由于箭头函数使得this从“动态”变成“静态”,下面两个场合不应该使用箭头函数。
第一个场合是定义对象的方法,且该方法内部包括this。
第二个场合是需要动态this的时候,也不应使用箭头函数。

课程收获:
当不清楚this的指向时,要看是谁在调用function,谁调用的this就指向谁。
ES5中谁调用函数,this就指向谁;
而ES6中则是函数在定义时this指向谁,就指向谁(跟自由变量的规则一样)。
箭头函数没有自己的this对象,内部的this就是定义时上层作用域中的this。
也就是说,箭头函数内部的this指向是固定的,相比之下,普通函数的this指向是可变的。

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消