- Symbol 是一个单独的数据类型
定义: let sym = Symbol(“aaa”);
console.log(sym)
//结果为Sysbol(aaa);
typeof sym === symbol
注意:
1.Symbol不能new
2.Symbol()返回是一个唯一值,坊间传说做一个key 定义一些唯一或者私有的东西
如 let sym = Symbol(“aaa”);
let jsoon = {
[sym] : “test”
}
3.symbol是一个单独数据类型,就叫symbol,是基本类型
4.如果symbol作为key,用for in循环,出不来 - generator函数
生成器,解决异步,深度嵌套的问题,async
语法
function * show(){
yield “wlecome”;
yield “to”;
yield “beijing”;
return “chishi”
}
let g1 = show();
console.log(g1.next()) // {value: “wlecome”, done: false} done是指接下来是否还有yield
上述调用,手动调用,麻烦
可以用 for of 循环
for (let val of g1) {
return 的东西不会遍历。
}
1.解构赋值 let 【a,b,c】 = show();
2.扩展运算符let 【a,…b】 = show();
let a = …show();
3.Array.from()
console.log(Array.from(show()));
- ================例子
function * gen(){
let val = yield "aaa";
yield axios.get("https://apo.github.com/usrs/${val}")
}
let g1 = gen();
let username = g1.next().value;
g1.next(username).value.then(res => {
console.log(res.data);
})