数据类型:
number、string、boolean、object、function、undefined
用typeof检测出来数据类型
Symbol
symbol 使用情况一般
定义:let syml = Symbol("aaa")
注意:
1. Symbol 不能new
2. Symbol() 返回的是一个唯一的值
做一个key 属性,定义一些唯一的或者私有一些东西
3. 是一个单独数据类型,就交symbol,基本类型
4. 如果symbol作为key,用for in循环,出不来
json -> for in
generator函数:
生成器:
解决异步,深度嵌套的问题,async
语法:
function * show(){
yield
}
定义:
function * gen(){
yield "welcome";
yield "to";
return "muMareR";
}
调用:
let g1 = gen()
ge.next(); // {value:"welcome",done:false}
ge.next(); // {value:"to",done:false}
ge.next(); // {value:"muMareR",done:true}
上诉调用,手动调用,麻烦
for ... of ...
自动遍历 generator
注意:return的东西,不会遍历
generator 不仅可以配合 for ... of ...
1. 解构赋值
let [a,...b] = gen()
2. 扩展运算符
console.log(...gen())
3. Array.from()
console.log(Array.from(gen()))
异步:不连续。上一个操作没有执行完,下一个操作照样开始
同步:连续执行,上一个操作没有执行完,下一个没法开始
关于异步,解决方案
1. 回调函数
2. 事件监听
3. 发布、订阅
4. promise对象