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
es6一句话拾遗的更多相关文章
- 使用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]
- ES6 class 技术点拾遗
语法 方法不需要加function,方法之间不需要加分号 class Point { constructor(x, y) { this.x = x; this.y = y; } toString() ...
- ES6之数组扩展方法【一】(相当好用)
form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...
- ES6新特性概览
本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony( ...
- webstorm ES6 转 ES5
一句话总结:用WebStorm自带的File Watcher功能+Babel实现自动转换ECMAScript 6代码为ES5代码 1. 新建一个Empty Project,然后在src目录下新建了一个 ...
- js 模块化的一些理解和es6模块化学习
模块化 1 IIFE 2 commonjs 3 浏览器中js的模块化 4 简单理解模块加载器的原理 5 es6 之前在参加百度前端技术学院做的小题目的时候,自己写模块的时候 都是写成立即调用表达式( ...
- 总结常见的ES6新语法特性
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- 常见ES6新属性
ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数(=& ...
- ES6:模块简单解释
modules是ES6引入的最重要的一个特性. 以后写模块的时候就直接按照ES6的modules语法来写 ,然后用babel+browserify 来打包就行了. modules规范分两部分,一部分是 ...
随机推荐
- 高维数据Lasso思路
海量数据的特征工程中, 如果数据特征维度达到几千乃至上万 常规的lasso很容易失效 这里介绍几种泛义lasso,是在实际数据处理中常用的 迭代与分块思路/分组的使用(有兴趣的同学可自行实践一下) 1 ...
- php7深入理解匿名函数和回调函数
匿名函数是没有名称的函数,可以将函数赋值给变量,再调用使用,回调函数是指作为一个参数值传值另外一个函数使用的函数. //匿名函数 没名称的函数 $a=function (){echo "ww ...
- Mac录制或保存视频后如何放大?
想要在录制和拍摄视频后在喜欢的场景(例如Mark)中放大视频吗?本文将向您展示如何放大视频并通过裁剪视频和“平移和缩放”效果来制作Ken Burns效果.Filmora9是一款功能强大的视频编辑器,具 ...
- 表单生成器(Form Builder)之mongodb表单数据——整理数据
在上篇笔记中,为车辆信息表.车辆耗损表以及车辆营收表插入了一些数据.之后便是查询了,重点也在查询……按照之前定好的数据结构,如果查询mongodb document的最外层比较简单,但是我们的重点应该 ...
- 重启宝塔面板后提示-ModuleNotFoundError: No module named 'geventwebsocket'
背景: 因服务器部署了flask项目,安装了python3,故重启宝塔面板报错 [Traceback (most recent call last): File , in load_class mod ...
- 【使用篇二】QueryDSL与SpringDataJPA协作使用(20)
QueryDSL是一个Java语言编写的通用查询框架,专注于通过JavaAPI方式构建安全的SQL查询.QueryDSL可以应用到NoSQL数据库上,QueryDSL查询框架可以在任何支持的ORM框架 ...
- Cisco学习记录(二):路由及网络设备配置
本篇我们利用cisco packet tracer搭建一个简单的网络.我们在左下方的设备中尝试选择创建两个4321路由器和一个3560-24PS Multilayer交换机,然后在左下方的电缆线中选择 ...
- SSM整合3(springMVC+mybatis)
一.RequestMapping URL路径映射:置于方法上,可多个URL映射同一个方法,格式:@RequestMapping(value="item")或@RequestMapp ...
- (转)vscode实现markdown流程图
原文:https://blog.csdn.net/LaySwift/article/details/79458947 1,vscode原生支持markdown,导出需要插件,基于node.js,需要n ...
- 文本分类Pipeline