es7重点笔记
1,函数绑定运算符,用来取代call,apply,bind调用,写法:并排的双冒号(::),左边是对象,右边是函数
foo :: bar; // 等同于bar.bind(foo);
双冒号返回的还是原对象,所以可以用链式写法。
2,允许在函数定义或者调用时最后一个参数添加逗号
function fn(a,b,) {}
3,Object.values(obj):返回一个数组,成员是参数对象obj的自身(不含继承)可遍历的属性的键值,不是键名。
4,Object.entries(obj):返回一个数组,成员是参数对象obj的自身(不含继承)可遍历的属性的键值对数组,是一个一个小数组,键值对中间是逗号,数组里面套数组。
var obj = {foo: 'bar', baz: 42};
Object.entries(obj);
// [ ['foo', 'bar'], ['baz', '42'] ]
5,对象的扩展运算符
es6规定了数组的扩展运算符(...)
const [a, ...b] = [1, 2, 3]; a; // 1; b; // [2, 3]
es7将这个引入了对象:
let {x, y, ...z} = { x:1, y:2, z:3, a:4 };
x; // 1
y: // 2
z; // {z: 3, a: 4};
跟数组的解构赋值一样,必须是最后一个参数,这里有一个坑:
如果变量名和后面的键名不是对应的一模一样,那么就会返回undefined,除了最后的扩展运算符,前面的只有一样的才会返回对应的值,而最后的扩展运算符会把前面所有没有匹配到的属性全部放在一起作为最后一个对象。
let {a, y, b,...c} = { x:1, y:2, q: 5, z:3, a:4 };
a; // undefined;
y: // 2;
b: // undefined;
z; // {x: 1, q: 5, z: 3, a: 4};
6,Object.getOwnPropertyDescriptors()
返回指定对象所有自身属性(非继承)的描述对象,就是{ 属性名:{ Object.defineProperties第二个参数 } }
7,数组实例的includes(),
数组是否包含某个元素,有就返回true,没有就false,可以传NaN来检测NaN。es5的indexOf无法检测NaN
8,(待续)
es7重点笔记的更多相关文章
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- C++编程思想重点笔记(下)
上篇请看:C++编程思想重点笔记(上) 宏的好处与坏处 宏的好处:#与##的使用 三个有用的特征:字符串定义.字符串串联和标志粘贴. 字符串定义的完成是用#指示,它容许设一个标识符并把它转化为字符串, ...
- JavaScript 重点笔记
JavaScript 重点笔记 ## 数组 // 必须掌握 - arr.length:获取数组元素的长度 - arr.splice(起始位置,长度):从数组中添加或删除元素. - arr.indexO ...
- Elasticsearch入门学习重点笔记
原文:Elasticsearch入门学习重点笔记 必记知识点 Elasticsearch可以接近实时的搜索和存储大量数据.Elasticsearch是一个近实时的搜索平台.这意味着当你导入一个文档并把 ...
- 清北学堂—2020.3NOIP数学精讲营—Day 1 morning 重点笔记
qbxt Day 1 morning 重点笔记 --2020.3.8 济南 主讲:钟皓曦 1 正数%负数==正数 负数%正数==负数 负数%负数==负数 a%b的答案的符号取决于a的符号. 2 快速幂 ...
- es6重点笔记:数值,函数和数组
本篇全是重点,捡常用的怼,数值的扩展比较少,所以和函数放一起: 一,数值 1,Number.EPSILON:用来检测浮点数的计算,如果误差小于这个,就无误 2,Math.trunc():取整,去除小数 ...
- C/C++求职宝典21个重点笔记(常考笔试面试点)
这是我之前准备找工作时看<C/C++求职宝典>一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看. 1. char c = '\72'; 中的\72代表一个字符, ...
- C/C++求职宝典重点笔记
这是我之前准备找工作时看<C/C++求职宝典>一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看. 1. char c = '\72'; 中的\72代表一个字符, ...
- C++ Primer Plus第6版18个重点笔记
下面是我看<C++ Primer Plus>第6版这本书后所做的笔记,作为备忘录便于以后复习. 笔记部分 C++的const比C语言#define更好的原因? 首先,它能够明确指定类型,有 ...
随机推荐
- HTMLTestRunner测试报告中文乱码问题解决
在学习python selenium自动化测试学习中遇到HTMLTestRunner测试报告出现乱码的问题 Test Group/Test case Count Pass Fail Error Vie ...
- 客户端 未登录页面 (clearfix 分割线)
做了一个手机客户端页面,未登录的状态页面 类似 如上图所示 这样 上面列表采取80%宽度,右侧浮动.ul li设置绝对定位.左边icon图标采取决定定位. 为了防止小屏幕手机左边空白缝隙过小,事先给外 ...
- 地址总线、数据总线、寻址能力、字长及cpu位数等概念之间的关系
地址总线决定了CPU的寻址能力:数据总线的宽度与字长及CPU位数一致. 详细解释见下文: 1.地址总线与寻址能力 要存取数据或指令就要知道数据或指令存放的位置,地址寄存器存储的就是CPU当前要存取的数 ...
- windows系统操作
1.怎么更新补丁 有些软件的运行需要windows要安装相关的补丁,除了去微软官网下载补丁外,可以用windows自带的“系统更新”来完成,省去找补丁下载以及研究系统缺少哪些补丁. 控制面板--> ...
- windows 纤程
纤程本质上也是线程,是多任务系统的一部分,纤程为一个线程准并行方式调用多个不同函数提供了一种可能,它本身可以作为一种轻量级的线程使用.它与线程在本质上没有区别,它也有上下文环境,纤程的上下文环境也是一 ...
- 关于S/4HANA里Sales Office 和Sales Organization那些事儿
今天这篇文章来自我的成都同事Zhang Sean(张正永). Sean也是一位在SAP行业摸爬滚打多年的老兵了,2009年从大学硕士毕业之后就进入了SAP Labs从事开发工作,目前是SAP 成都S/ ...
- 嵌入式Tomcat容器的参数(maxParameterCount)设定
背景 昨天同事遇到了error一起看了一下感觉比较重要在这记录一下 基本情况是页面上选中9K+的数据向后台发送请求,然后系统就崩了... error信息如下 More than the maximum ...
- 九九乘法表.py
# -*-coding:utf-8-*- i = 1 # 先设定第一个变量 while i <= 9: # 第一个循环开始 j = 1 while j <= i: # 第 ...
- 加载进度圈,带遮罩层(jquery)
如图: Js下载地址:http://files.cnblogs.com/files/holdon521/cvi_busy_lib.js 如下使用实例: <script src="/st ...
- spring 多线程 写入数据库 和 写入 xml文件
最近工作中遇到一个需求 多线程先爬取页面 然后将爬取的结果持久化到数据库中 ,一些大文本的内容需要持久化到 xml文件中; 下面是运行后的结果: xml 文件写入结果: 数据库写入结果: 再来张项目结 ...