• 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

es6一句话拾遗的更多相关文章

  1. 使用es6一句话去重

    let arr = [1,2,3,4,5,1,2,3] let arr2 = Array.from(new Set(arr)) console.log(arr2) //[1,2,3,4,5]

  2. ES6 class 技术点拾遗

    语法 方法不需要加function,方法之间不需要加分号 class Point { constructor(x, y) { this.x = x; this.y = y; } toString() ...

  3. ES6之数组扩展方法【一】(相当好用)

    form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...

  4. ES6新特性概览

    本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony( ...

  5. webstorm ES6 转 ES5

    一句话总结:用WebStorm自带的File Watcher功能+Babel实现自动转换ECMAScript 6代码为ES5代码 1. 新建一个Empty Project,然后在src目录下新建了一个 ...

  6. js 模块化的一些理解和es6模块化学习

    模块化 1 IIFE 2 commonjs 3 浏览器中js的模块化 4 简单理解模块加载器的原理  5 es6 之前在参加百度前端技术学院做的小题目的时候,自己写模块的时候 都是写成立即调用表达式( ...

  7. 总结常见的ES6新语法特性

    前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...

  8. 常见ES6新属性

    ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数(=& ...

  9. ES6:模块简单解释

    modules是ES6引入的最重要的一个特性. 以后写模块的时候就直接按照ES6的modules语法来写 ,然后用babel+browserify 来打包就行了. modules规范分两部分,一部分是 ...

随机推荐

  1. synchronized凭什么锁得住?

    相关链接: <synchronized锁住的是谁?> 我们知道synchronized是重量级锁,我们知道synchronized锁住的是一个对象上的Monitor对象,我们也知道sync ...

  2. gitlab忘记密码如何重置

    gitlab web登入密码忘记以后可以用如下方式修改密码shell>cd /home/git/gitlabshell> su gitshell>bundle exec rails ...

  3. <深度学习>TensorBoard的demo

    import tensorflow.compat.v1 as tf import os os.environ["CUDA_VISIBLE_DEVICES"] = "-1& ...

  4. vue-property-decorator和typescript结合构建的class类组件,父组件触发子组件方法的方式

    vue-property-decorator和typescript结合构建的class类组件,父组件触发子组件方法的方式 class类组件示例 Father类组件 <template> & ...

  5. Luogu P2210 Haywire 题解

    其实这题吧...有一种玄学解法 这题的要求的就是一个最小化的顺序 那么,我们就不进想到了一种显然的写法 就是random_shuffle 什么?这不是乱搞的非正解吗 然而,正如一句话说的好 一个算法, ...

  6. [译]Vulkan教程(21)顶点input描述

    [译]Vulkan教程(21)顶点input描述 Vertex input description 顶点input描述 Introduction 入门 In the next few chapters ...

  7. leetcode-數組篇

    Remove Element public class Lc27 { public static int removeElement(int[] nums, int val) { if (nums = ...

  8. Java堆空间Vs栈内存

    之前我写了几篇有关Java垃圾收集的文章之后,我收到了很多电子邮件,请求解释Java堆空间,Java栈内存,Java中的内存分配以及它们之间的区别. 您可能在Java,Java EE书籍和教程中看到很 ...

  9. APP自动化针对PO模式进行二次封装之basepage

    APP自动化跟WEB自动化所使用的框架基本一样,都是采用的PO模式结合pytest框架编写自动化测试脚本,为了提高代码的复用性.稳定性和易维护性,我们针对PO模式进行了二次封装,将日志,等待以及异常截 ...

  10. 数据、模型、IT系统认知

    数据.模型.IT系统认知 量化投资定义 量化投资主要是指通过数理模型来实现投资理念,由计算机产生交易策略的一种投资方法. 量化投资是一种方法论,而不是具体的交易策略. 通常与基本面.技术面分析相结合. ...