石川es6课程---18、ES6 复习
石川es6课程---18、ES6 复习
一、总结
一句话总结:
无论在讲课和学习中,复习总结都是很重要
二、ES6 复习
- 变量 let const
| 声明方式 | 能否重复声明 | 作用域 | 类型 | 是否支持变量提升 |
|---|---|---|---|---|
| var | 能 | 函数级 | 变量 | 是,undefined |
| let | 不能,不允许在相同作用域内,重复声明同一个变量 | 块级 | 变量 | 否,referrenceError:is not defined |
| const | 不能 | 块级 | 常量 | 否 |
暂时性死区:在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)
- 箭头函数
- 方便
- 如果只有一个参数,()可以省略
- 如果只有一个语句且为return,{}可以省略
- 修正this
- 只会从自己的作用域链的上一层继承this
- 箭头函数没有自己的this指针,通过 call() 或 apply() 方法调用一个函数时,只能传递参数
- 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。所以this对象的指向是可变的,但是在箭头函数中,它是固定的。
- 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误
- 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替
- 不可以使用yield命令,因此箭头函数不能用作 Generator 函数
- 不适用场合
- 定义对象的方法,且该方法内部包括this。
- 需要动态this的时候,也不应使用箭头函数
- 方便
作用域 :一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context)。等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的。
- 参数的扩展...rest
- 收集
- 扩展
- 默认参数
- 数组方法
- map 映射
- reduce 汇总
- filter 过滤
- forEach 循环
- 字符串
- startWith
- endWith
- 字符串模板
${a}xxx${b}
- Promise
- 封装异步操作
- Promise.all([]).then()
- generator
- 执行一半能暂停
- yield
- JSON
- JSON.stringfy()
- JSON.parse()
- 面向对象
- class Test{}
- 解构赋值
- 左右结构一样
- 右边是合法事情
- 声明赋值一次完成
石川es6课程---18、ES6 复习的更多相关文章
- 石川es6课程---7、数组
石川es6课程---7.数组 一.总结 一句话总结: ^ 主要就map(映射:一个对一个),reduce(汇总:一堆出来一个),filter 过滤器,forEach 循环(迭代) 四个方法 ^ 使用 ...
- 石川es6课程---3、变量let和常量const
石川es6课程---3.变量let和常量const 一.总结 一句话总结: let非常好用,尤其是let的块级作用域可以解决之前要(function(){})()立刻执行函数做的块级作用域 1.js中 ...
- 石川es6课程---17、ES7 预览
石川es6课程---17.ES7 预览 一.总结 一句话总结: 人的价值恒定规律:无论得意还是迷茫之时,你的价值都不靠外界的评判或者你内心的悲喜而决定.而是当时的恒定的.能够提升他只能靠你提升自己的能 ...
- 石川es6课程---13-16、generator-认识生成器函数
石川es6课程---13-16.generator-认识生成器函数 一.总结 一句话总结: ` generator函数,中间可以停,到哪停呢,用 yield 配合,交出执行权 ` 需要调用next() ...
- 石川es6课程---12、Promise
石川es6课程---12.Promise 一.总结 一句话总结: 用同步的方式来书写异步代码,让异步书写变的特别简单 用同步的方式来书写异步代码Promise 让异步操作写起来,像在写同步操作的流程, ...
- 石川es6课程---11、json
石川es6课程---11.json 一.总结 一句话总结: ` 感觉更方便了一点,增加了一些简写 ` key-value 一样时可以简写:console.log({ a,b}}) ` 里面函数可以简写 ...
- 石川es6课程---9、面向对象-基础
石川es6课程---9.面向对象-基础 一.总结 一句话总结: js老版本的面向对象和继承都不是很方便,新版的面向对象向其它语言靠拢,有了class,extends,constructor等关键字,用 ...
- 石川es6课程---8、字符串
石川es6课程---8.字符串 一.总结 一句话总结: · es6字符串新增两个方法:startsWith(以什么开头),endsWith(以什么结尾) · 新增反单引号:可以解析变量,可以折行:le ...
- 石川es6课程---6、解构赋值
石川es6课程---6.解构赋值 一.总结 一句话总结: 结构相同一一对应的方式赋值:let [json, arr, num, str] = [{ a: 1, b: 2 }, [1, 2, 3], 8 ...
随机推荐
- js大神成长指路
随着我的成长,我的兴趣也在不断地分化,他们似乎都是不相关的领域.我喜欢数学就像我喜欢历史一样.我的目标是成为一个多才多艺的人——一个学者——在许多领域都能成为杰出的人才.这是一项艰巨的任务.突然间,我 ...
- 阿里云 elasticsearch 增删改查
kibana 控制台 # 查询所有数据 GET /yixiurds_dev/_search { "query": { "match_all": { } } } ...
- powershell查看版本信息
在终端输入$PSVersionTable
- NTP时间同步服务和DNS服务
NTP服务是搭建集群的第一步,是保持时间的同步性,保持一致 服务端 首先下载 yum install ntp –y 而后打开配置文件 /etc/ntp.conf 配置文件里有很多内容,但只要留三行就足 ...
- 复习rem
在Web页面制作中,我们一般使用“px”来设置我们的文本,因为他比较稳定和精确.但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,他改变了浏览器的字体大小(虽然一般人不会去改变浏览 ...
- 重新学习ESP32(零)之环境搭建——转载——windows平台
原文来自:https://www.makingfun.xyz/2018/09/18/esp32-hello-world/ 前言 前几天看到乐鑫的公众号推送了一篇文章,说是ESP8266最新的SDK风格 ...
- Java-WEB开发常用方法整理
/** * 此类中收集Java编程中WEB开发常用到的一些工具. * 为避免生成此类的实例,构造方法被申明为private类型的. * @author */ import java.io.IOExce ...
- JAVA-产生唯一32位GUID
import java.net.*; import java.util.*; import java.security.*; import org.apache.log4j.Logger; /** * ...
- Mybatis 向oracle批量插入与更新数据
插入 <insert id="batchSave" parameterType="java.util.List"> INSERT INTO T_UP ...
- spring-boot + mybatis + mysql+shiro 整合
参考地址 https://blog.csdn.net/clj198606061111/article/details/82948757 https://blog.csdn.net/ityouknow/ ...