多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### async和await > async和await两种语法结合让异步代码像同步代码一样 * async函数 > async函数的返回值为promise对象 > > promise对象的结果又async函数执行的返回值决定 * await表达式 > await 必须写在async函数中 > > await右侧的表达式一般为promise对象 > > await返回的是promise成功的值 > > await的promise失败了,就会抛出异常,需要通过 `tru ... catch` 捕获异常 #### 对象方法 扩展 | Object.values | 返回一个给定对象的所有可枚举属性值的数组 | | Object.entries | 返回一个给定对象自身可遍历属性 \[key,value\] 的数组 | | Object.getOwnPropertyDescriptors | 返回指定对象所有自身属性的描述对象 | ~~~ const school = { // 声明对象  name:'qinghua',  cities:['北京','上海','广州','深圳'],  xueke:['前端','python','nodejs','php']}console.log(Object.keys(school))   // 获取所有的键   ["name", "cities", "xueke"]console.log(Object.values(school))  // 获取有的值 ["qinghua", Array(4), Array(4)]console.log(Object.entries(school))  // [[key1,value1],[key2,value2]...],可用于生产Mapconsole.log(new Map(Object.entries(school)))console.log(new Map(Object.entries(school)).get('name')) // 'qinghua'console.log(Object.getOwnPropertyDescriptors(school)) // 返回对象属性的 描述对象   见下图const obj = Object.create(null,{  // 第一个参数:原型对象,第二个参数:描述对象  value:'yishe',          // getOwnPropertyDescriptors返回的就是描述对象  writable:true,          // 是否可写,(writable cofigurable enumerable)属性特性  cofigurable:true,         // 是否可以删除,属性特性克隆对象时也许会用到  enumerable:true          // 是否可以枚举}) ~~~