前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js箭头函数

js箭头函数

作者头像
黄啊码
发布2021-09-26 10:17:53
4.4K0
发布2021-09-26 10:17:53
举报
文章被收录于专栏:黄啊码【CSDN同名】

箭头函数

箭头函数表达式没有自己的this,arguments,super或new.target。

引入箭头函数作用

引入箭头函数的作用:更简短的函数并且不绑定this

更简短的函数

代码语言:javascript
复制
let sum = (x,y,z) => { return x+y+z; }

不绑定this

在箭头函数出现之前,每个新定义的函数都有他自己的this值。(在构造函数的情况下是一个新对象,在严格模式的函数调用中为 undefined,如果该函数被作为“对象方法”调用则为基础对象等)。

通过call、apply调用箭头函数

由于箭头函数没有自己的this指针,通过call()、apply()方法调用时,第一个参数会被忽略。(箭头函数中若用了this,这个this指向包裹箭头函数的第一个普通函数的 this。)

不绑定arguments

大多数情况下,使用剩余参数是相较于arguments对象的更好选择。

箭头函数不能使用new操作符

箭头函数不能用作构造器,和 new一起用会抛出错误。

代码语言:javascript
复制
var Foo = () => {};
var foo = new Foo(); // TypeError: Foo is not a constructor

箭头函数没有prototype属性

箭头函数不能用作生成器

yield 关键字通常不能在箭头函数中使用(除非是嵌套在允许使用的函数内)。因此,箭头函数不能用作生成器。

返回对象字面量时

箭头函数返回简单值时可以简写成:

代码语言:javascript
复制
let sum = ( x, y ) => x + y

but返回对象字面量时不口以这样var func = () => {foo: 1},需要用圆括号括起来

代码语言:javascript
复制
var func = () => ({foo: 1});

以下跟箭头函数没啥关系咯~~

函数的默认参数

没有默认参数时要进行检查检查~

代码语言:javascript
复制
function multiply(a, b) {
  b = (typeof b !== 'undefined') ?  b : 1;
  return a * b;
}

有了默认参数后~优雅的写代码

代码语言:javascript
复制
function multiply(a, b = 1) {
  return a * b;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 箭头函数
    • 引入箭头函数作用
      • 更简短的函数
      • 不绑定this
      • 通过call、apply调用箭头函数
      • 不绑定arguments
      • 箭头函数不能使用new操作符
      • 箭头函数没有prototype属性
      • 箭头函数不能用作生成器
      • 返回对象字面量时
  • 函数的默认参数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档