ES6中可以利用rest参数的方式把对象转化成数组
// ES6引入 rest参数,用于获取函数的实参,用来代替 arguments/ / ES5 获取实参的方式
function date(){
console.log(arguments); }
date( '白芷','阿娇','思慧');
// rest 参数
function date( ...args){
console.log(args);// filter some every map// }
date('阿娇','柏芝','思慧'); //rest参数必须要放到参数最后
**『…』扩展运算符能将『数组』转换为逗号分隔的『参数序列』 **
symbol
ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。
它是JavaScript语言的第七种数据类型,是一种类似于字符串的数据类型。
Symbol特点
- Symbol 的值是唯一的,用来解决命名冲突的问题
- Symbol值不能与其他数据进行运算
3)Symbol定义的对象属性不能使用for…in循环遍历,但是可以使用
Reflect.ownKeys来获取对象的所有键名
迭代器(lterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署lterator接口,就可以完成遍历操作。
- ES6创造了一种新的遍历命令for…of循环,lterator接口主要供 for… fl哨消费2)原生具备iterator接口的数据(可用for of遍历)
a)Array
b)Argumentsc)Set
d)Mape) Stringf)TypedArrayg)NodeList3)工作原理
a)创建一个指针对象,指向当前数据结构的起始位置
b)第一次调用对象的next方法,指针自动指向数据结构的第一个成员c)接下来不断调用next方法,指针一直往后移动,直到指向最后一个成员
for in 前面的变量 表示的是键名
for of 前面的变量 表示的是键值
生成器函数的声明和调用
yield是函数代码的分隔符,可以把函数代码分成几块,三个yield可以把代码分成四块
P22 22.尚硅谷_ES6-生成器函数实例
异步编程文件操作网络操作(ajax,request)数据库操作
1s后控制台输出111
2s后输出222
3s后输出333
回调地狱
setTimeout(() =>{
console.log(111);
setTimeout(() =>{
console.log(222);
setTimeout(() =>{
console.log(333);
}, 3000);
}, 2000);
},1000);
P23 23.尚硅谷_ES6-生成器函数实例-2
第二次调用,他的实参将作为第一个yield返回的结果
P24 24.尚硅谷_ES6-Promise介绍与基本使用
Promise是ES6引入的异步编程的新解决方案。语法上 Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果
- Promise构造函数: Promise (excutor) {}
- Promise.prototype.then方法
- Promise.prototype.catch方法
P25 25.尚硅谷_ES6-Promise封装读取文件
P26 26.尚硅谷_ES6-Promise封装AJAX请求
P27 27.尚硅谷_ES6-Promise.prototype…then
P28 28.尚硅谷_ES6-Promise实践练习-多个文件内容读取
P29 29.尚硅谷_ES6-Promise对象catch方法
P30 30.尚硅谷_ES6-集合介绍与API Elements
set可以自动去重,add可以添加 delete可以删除 has可以检测是否含有这个元素 有的话返回ture 没有的话返回false
clear()可以清空
P31 31.尚硅谷_ES6-集合实践 top
1、数组去重
2.交集
两种方式
3.并集
4.差集
和交集相反
P32 32.尚硅谷_ES6-Map的介绍与API
P33 33.尚硅谷_ES6-class介绍与初体验
es5
当我们使用new+类名的时候,就会自动执行实例对象上的construtor
P34 34.尚硅谷_ES6-class静态成员
实例对象和函数对象的属性不通
P35 35.尚硅谷_ES6-ES5构造函数继承
P36 36.尚硅谷_ES6-class的类继承
P37 37.尚硅谷_ES6-子类对父类方法的重写
P38 38.尚硅谷_ES6-class中getter和setter. …
set里面要传参数,然后会触发这个方法
P39 39.尚硅谷_ES6-ES6的数值扩展
正数返回1 负数返回-1 0返回0
P40 40.尚硅谷_ES6-ES6的对象方法扩展
object.is判断两个值是否完全相等,和全等又有一定的区别,NaN===NaN时,会返回false,但是用object.is就返回ture
P4141.尚硅谷_ES6-模块化介绍、优势以
P42 42.尚硅谷_ES6-浏览器使用ES6模块化引入模块
P4343.尚硅谷_ES6-ES6模块暴露数据语法汇总
分别暴露
统一暴露默认暴露
输出结果
P44 44.尚硅谷_ES6-ES6引入模块数据语法汇总
1.通用的导入方式
2.解构赋值形式
这里有来个school 会报错 这里可以用as+别名的形式
打印一下
应对默认暴露
这里不能直接用default 要用别名
3.简便形式 针对默认暴露
P4545.尚硅谷_ES6-浏览器使用ES6模块化方式二
第一种是直接写个标签,在标签里面写这个代码
第二种方式是用标签引出一个src,类型是module
P46 46.尚硅谷_ES6-babel对ES6模块化代码转换
P47 47.尚硅谷_ES6-ES6模块化引入NPM包
P48 48.尚硅谷_ES7-ES7新特性
这个includes和之前学的indexOf的区别
indexOf 如果数组中不存在这个元素,返回的是-1,是数字
2 的十次方可以用**来简化
P49 49.尚硅谷_ES8-async函数
直接写return返回的也是一个promise对象
P50 50.尚硅谷_ES8-await表达式
await一般放置一个promise对象
P5151.尚硅谷_ES8-async与await结合读取文件内容
P5252.尚硅谷_ES8-async与await结合发送Ajex请求
P53 53.尚硅谷_ES8-ES8对象方法扩展
P5454.尚硅谷_ES9-ES9扩展运算符与rest参数
host和post有分别对应的变量,而username,password等没有对应的变量,就会存到user这个变量当中
…(扩展运算符)的作用1
…的作用2
把四个对象的属性放在了一个对象里面
P5555.尚硅谷_ES9-ES9正则扩展-命名捕获分组
P56 56.尚硅谷_ES9-ES9正则扩展-反向断言
正向断言
根据匹配后面的内容来判断前面的内容是否合法
反向断言
P5757.尚硅谷_ES9-ES9正E则扩展-dotAll模式
dot本身有.的意思,. 指的是正则里面的元字符,代表着除换行符外的任意单个字符
P58 58.尚硅谷_ES10-对象扩展方法Object
P5959.尚硅谷_ES10-字符串方法扩展-trimStart-trimEnd
P60 60.尚硅谷_ES10-数组方法扩展-flat与fl…P6161.尚硅谷_ES10-Symbol.prototype.de…
P62 62.尚硅谷_ES11-私有属性
P63 63.尚硅谷_ES11-Promise.allSettled方法
P64 64.尚硅谷_ES11-String.prototype.matchAll方法
对于批量处理数据十分方便
P65 65.尚硅谷_ES11-可选链操作符
P66 66.尚硅谷_ES11-动态import
import函数返回的结果是个promise对象,promise对象成功的值就是这个模块中暴露出来的对象
打印module时