• es6一句话拾遗


    • Symbol最大的作用就是用于消除魔术字符串;
    • Set跟数组的最大区别,就是Set的成员都是唯一的,没有重复;(方法:add(value),has,delete,clear)
    • Map跟对象的最大区别,就是对象只能用字符串作为键,Map不是;(方法:get,set(key,value),has,delete,clear)
    • let和var最大的区别是,let声明的变量是块内有效的(块内不允许重复声明,块外可以);不会变量提升(声明之前使用);
    • 变量的解构赋值:let { a: b } = { a: 3 };//b等于3(其他你都懂,这个也很好记的哦)
    • 正则表达式i不区分大小写,g全局搜索;/[A-Z]/匹配一个大写字母,/(1|9)/匹配字母1或者字母9,小括号只匹配字符,{3,9}匹配在它之前的表达式最少出现3次,最多出现9次;^$行首和行位;/x(?=y)/代表x在y之前;
    • call方法:func.call(thisObj,param1,param2);  apply方法:func.apply(thisObj,param1,param2);   bind方法:func.bind(thisObj,param1,param2)();
    • 递归调用应该注意栈溢出的问题,可以考虑尾递归优化,然而尾递归优化只在严格模式strict下才有效,还可以考虑蹦床函数,用无限循环替换递归;(别忘记跳出循环的条件)
    • Object.assign(target,source1,source2);把源对象的属性复制到目标对象,同名属性后面覆盖前面的;
    • Object.keys(target);Object.values(target);Object.entries(target);//entries返回二维数组
    • Proxy是访问对象的代理,外界对象对目标对象的访问,必先通过代理;
    • Promise的catch方法,除了抓Promise内部的错误之外,还抓then回调函数的错误;然而如果你没有reject,它是什么也抓不到的;用done就可以:let result = await func1().done();然而done又没有回调函数,finally就有 await func1().finally(cb);
    • Promise.all([p1,p2,p3,p4])与Promise.race([p1,p2,p3,p4])是成对儿的,所有都完成&只要有一个完成;参数是promise实例的数组;
    • 多个await操作如果没有继发关系,应该考虑使用Promise.all,让他们同时触发;Promise.all是不会继发执行的;
    • Generator函数是*和yield结合,调用的时候用next(), 返回值是个对象,对象里有done属性,还可以传参数给next




     

  • 相关阅读:
    miniconda安装和使用
    linux下git push出现“更新被拒绝,因为远程仓库包含您本地尚不存在的提交。”问题的处理
    win8、win10系统添加组策略的方法
    Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?)
    thinkphp5 连接SQLserver
    thinkphp5 上传图片压缩
    在Vue中使用了Swiper ,从后台获取动态数据后,swiper滑动失效
    微信小程序多图上传及后台处理(后台用thinkphp3.2)
    PHP 数组下标从0开始
    微信小程序去除左上角返回的按钮
  • 原文地址:https://www.cnblogs.com/liulun/p/11555250.html
Copyright © 2020-2023  润新知