ES6学习(六)—函数的扩展

挑重点 文章只列举了一部分 完整版请看阮一峰ES6入门教程 点我查看阮一峰ES6入门教程

一、函数参数的默认值

二、rest 参数

ES6 引入 rest 参数(形式为…变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。

三、箭头函数

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






箭头函数有几个使用注意点。

(1)箭头函数没有自己的this对象。

(2)不可以当作构造函数,也就是说,不可以对箭头函数使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

上面四点中,最重要的是第一点。对于普通函数来说,内部的this代表函数运行时所在的对象,但是这一点对箭头函数不成立。它没有自己的this对象,内部的this就是一个普通变量,指向定义时上层函数所在的对象。也就是说,箭头函数内部的this指向是固定的,相比之下,普通函数的this指向是可变的。

ES6学习(六)—函数的扩展相关推荐

  1. es6学习笔记-字符串的扩展_v1.0_byKL

    es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...

  2. es6(五):函数的扩展

    函数参数的默认值 function log(x, y = 'World') {console.log(x, y); }log('Hello') // Hello World log('Hello', ...

  3. 【ES6】阮一峰ES6学习(四) 对象的扩展

    对象的扩展 1. 属性的简洁表示法 ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. const foo = 'bar'; const baz = {foo}; ...

  4. 【ES6】阮一峰ES6学习(六) Proxy

    Proxy 1. 前言 2. 使用 3. Proxy 实例方法 1. get()方法 2. set()方法 3. apply()方法 4. 为什么要存在Proxy? 两者对比 1. 前言 es6中全新 ...

  5. ES6学习笔记(字符串扩展)

    1.模板字符串 模板字符串的优点在于对长串的字符串进行处理时,不需要使用多个引号去进行处理,只需要在最外层使用间隔号`,中间所有的变量使用${}则可进行替换 先举一个简单的例子: const xiao ...

  6. ES6入门之对象的扩展

    1. 属性的简洁表示法 在ES6中 允许直接写入变量和函数,作为对象的属性和方法,使得代码的书写更为简洁. const f = 'a' const b = {f} b // {f: 'a'}等同于 c ...

  7. 【ES6】阮一峰ES6学习(二)模板字符串、新增的字符串方法、函数扩展、rest参数、箭头函数

    模板字符串 // 普通字符串 `In JavaScript '\n' is a line-feed.`// 多行字符串 `In JavaScript this isnot legal.`console ...

  8. “睡服”面试官系列第十三篇之函数的扩展(建议收藏学习)

    目录 1. 函数参数的默认值 1.1基本用法 1.2与解构赋值默认值结合使用 1.3参数默认值的位置 1.4函数的 length 属性 1.5作用域 1.6应用 2. rest 参数 3. 严格模式 ...

  9. ES6学习笔记(五):轻松了解ES6的内置扩展对象

    前面分享了四篇有关ES6相关的技术,如想了解更多,可以查看以下连接 <ES6学习笔记(一):轻松搞懂面向对象编程.类和对象> <ES6学习笔记(二):教你玩转类的继承和类的对象> ...

最新文章

  1. 【vijos】P1448 校门外的树
  2. Linux中TFTP使用详解
  3. der解码规则_DER编码简介
  4. git for windows的下载地址
  5. jsp mysql servlet_JSP+Servlet+JDBC+mysql实现的学生成绩管理系统
  6. 二刻拍案惊奇之——国人为什么那么轻视技术
  7. HTTP返回代码代表的含义(403,404,500,502,504)
  8. 苹果公布了一些最新无人车进展,但,研发依然缓慢
  9. CvvImage.h和CvvImage.cpp
  10. java web 车辆管理系统_javaweb车辆信息管理系统
  11. 如何打开windows的服务管理
  12. DM数据库全面调优指南之Linux操作系统
  13. ESP32驱动 1.3寸OLED SH1106芯片)
  14. 华为使用计算机投屏要打开什么,华为手机怎么投屏到电脑?这些小屏变大屏的操作你会吗...
  15. 统计中文文本中人物出现次数
  16. Eclipse插件10
  17. 四种人适合一起创业,三种人绝对不能合伙
  18. kerberos简介
  19. web实现视频播放-服务端所需工作
  20. git cherry-pick --strategy=recursive -X theirs

热门文章

  1. 一种可以解决python读取文件中文出乱码的方法
  2. Httpd2.4简介及CenOS6.6下编译安装
  3. word无所不能之在word中浏览网页看电影
  4. 营销团队管理必备101招
  5. C程序设计语言现代方法10:程序结构
  6. linux nice启动vi程序,Linux nice命令
  7. 软硬交互代码示例_matlab交互式程序设计示例:[6]GUI界面编程1
  8. 字节跳动专家会_年薪30万60万!字节跳动招这个语系的语言专家!
  9. opengl绘制刻度坐标系_OpenGL中的坐标系-2D
  10. sydney airport hotel recommendations