石川es6课程---18、ES6 复习

一、总结

一句话总结:

无论在讲课和学习中,复习总结都是很重要

二、ES6 复习

  1. 变量 let const
声明方式 能否重复声明 作用域 类型 是否支持变量提升
var 函数级 变量 是,undefined
let 不能,不允许在相同作用域内,重复声明同一个变量 块级 变量 否,referrenceError:is not defined
const 不能 块级 常量

暂时性死区:在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)

  1. 箭头函数

    • 方便

      • 如果只有一个参数,()可以省略
      • 如果只有一个语句且为return,{}可以省略
    • 修正this
      • 只会从自己的作用域链的上一层继承this
      • 箭头函数没有自己的this指针,通过 call() 或 apply() 方法调用一个函数时,只能传递参数
      • 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。所以this对象的指向是可变的,但是在箭头函数中,它是固定的。
      • 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误
      • 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替
      • 不可以使用yield命令,因此箭头函数不能用作 Generator 函数
    • 不适用场合
      • 定义对象的方法,且该方法内部包括this。
      • 需要动态this的时候,也不应使用箭头函数

作用域 :一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context)。等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的。

  1. 参数的扩展...rest

    • 收集
    • 扩展
    • 默认参数
  2. 数组方法
    • map 映射
    • reduce 汇总
    • filter 过滤
    • forEach 循环
  3. 字符串
    • startWith
    • endWith
    • 字符串模板  ${a}xxx${b}
  4. Promise
    • 封装异步操作
    • Promise.all([]).then()
  5. generator
    • 执行一半能暂停
    • yield
  6. JSON
    • JSON.stringfy()
    • JSON.parse()
  7. 面向对象
    • class Test{}
  8. 解构赋值
    • 左右结构一样
    • 右边是合法事情
    • 声明赋值一次完成
 

石川es6课程---18、ES6 复习的更多相关文章

  1. 石川es6课程---7、数组

    石川es6课程---7.数组 一.总结 一句话总结: ^ 主要就map(映射:一个对一个),reduce(汇总:一堆出来一个),filter  过滤器,forEach 循环(迭代) 四个方法 ^ 使用 ...

  2. 石川es6课程---3、变量let和常量const

    石川es6课程---3.变量let和常量const 一.总结 一句话总结: let非常好用,尤其是let的块级作用域可以解决之前要(function(){})()立刻执行函数做的块级作用域 1.js中 ...

  3. 石川es6课程---17、ES7 预览

    石川es6课程---17.ES7 预览 一.总结 一句话总结: 人的价值恒定规律:无论得意还是迷茫之时,你的价值都不靠外界的评判或者你内心的悲喜而决定.而是当时的恒定的.能够提升他只能靠你提升自己的能 ...

  4. 石川es6课程---13-16、generator-认识生成器函数

    石川es6课程---13-16.generator-认识生成器函数 一.总结 一句话总结: ` generator函数,中间可以停,到哪停呢,用 yield 配合,交出执行权 ` 需要调用next() ...

  5. 石川es6课程---12、Promise

    石川es6课程---12.Promise 一.总结 一句话总结: 用同步的方式来书写异步代码,让异步书写变的特别简单 用同步的方式来书写异步代码Promise 让异步操作写起来,像在写同步操作的流程, ...

  6. 石川es6课程---11、json

    石川es6课程---11.json 一.总结 一句话总结: ` 感觉更方便了一点,增加了一些简写 ` key-value 一样时可以简写:console.log({ a,b}}) ` 里面函数可以简写 ...

  7. 石川es6课程---9、面向对象-基础

    石川es6课程---9.面向对象-基础 一.总结 一句话总结: js老版本的面向对象和继承都不是很方便,新版的面向对象向其它语言靠拢,有了class,extends,constructor等关键字,用 ...

  8. 石川es6课程---8、字符串

    石川es6课程---8.字符串 一.总结 一句话总结: · es6字符串新增两个方法:startsWith(以什么开头),endsWith(以什么结尾) · 新增反单引号:可以解析变量,可以折行:le ...

  9. 石川es6课程---6、解构赋值

    石川es6课程---6.解构赋值 一.总结 一句话总结: 结构相同一一对应的方式赋值:let [json, arr, num, str] = [{ a: 1, b: 2 }, [1, 2, 3], 8 ...

随机推荐

  1. java面试6

    1.Redis是单线程还是多线程?为什么能支持访问量和高并发?并举例解释? 1)Redis是单线程的 2)Redis是单线程加多路IO复用 3)例子:上课老师解决同学们的提问 2.Nginx有哪些基本 ...

  2. 百度 Ueditor 使用及规则

    UMeditor 官网::https://ueditor.baidu.com/website/download.html#ueditor文档::http://fex.baidu.com/ueditor ...

  3. form表单相关

    <input> 元素 <input> 元素是最重要的表单元素. <input> 元素有很多形态,根据不同的 type 属性. 这是本章中使用的类型: 类型 描述 t ...

  4. OO方式实现ALV: cl_salv_table

    这里总结最近用cl_salv_table实现ALV遇到问题和解决办法 FORM set_alv2 . DATA: lv_syrepid TYPE syrepid. lv_syrepid = sy-cp ...

  5. 解决 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 九步完成

  6. GNU编译器:Codesourcery

    Codesourcery G++是个商业软件, 不过它有个lite版本,是完全免费的,只不过没有IDE,只有commmand line. Codesourcery G++支持coldfire, pow ...

  7. Oracle笔记(八) 复杂查询及总结

    一.复杂查询 1. 列出至少有一个员工的所有部门编号.名称,并统计出这些部门的平均工资.最低工资.最高工资. 1.确定所需要的数据表: emp表:可以查询出员工的数量: dept表:部门名称: emp ...

  8. zabbix 监控TCP状态连接数

    1.zabbix客户端,监控TCP状态脚本,并保存到的定路径.(/usr/local/zabbix-agent/shells) # cat zabbix_linux_plugin.sh #!/bin/ ...

  9. Nginx的入门

    Nginx 入门 一.正向代理和反向代理 1.正向代理 正向代理(forward proxy) ,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标( ...

  10. 使用IDEA创建JavaWeb项目 部署本地tomcat并运行

    一.下载商业版IDEA 官方链接:https://www.jetbrains.com/idea/download/#section=windows 二.新建JavaWeb项目 1.在菜单栏找到File ...