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更好的原因? 首先,它能够明确指定类型,有 ...
随机推荐
- ElfJS从入门到精通(一)
介绍 Elf.js是一个简洁的高效的JavaScript框架.它不仅高度重视用户的体验,也高度重视开发者的体验.在实现当今主流技术的同时,以尽可能原生态的形式展现出来.在如今花样繁多的框架中,你是否感 ...
- 修改wamp中mysql的默认空密码
WAMP安装好后,mysql密码是为空的,那么要如何修改呢? 一.打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车. 二.输入"use mysql",意思是使用m ...
- 一些关于memcpy memmove函数的区别,和模拟实现
memcpy: 它是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中. 函数原型:void* memcp ...
- 到底啥事w3c标准
W3C标准 ...
- [转载]innodb 的预读
innodb在io的优化上有个比较重要的特性为预读,innodb以64个page为一个extent,那么innodb的预读是以page为单位还是以extent? 这样就进入了下面的话题:linear ...
- Python全栈考试(一)
1.执行 Python 脚本的两种方式 1) 使用命令行执行Python脚本: python C:\tesst.py 2) 使用各种IDE软件.pycharm wing 2.简述位.字节的关系 位 ( ...
- 云计算之路-阿里云上:docker swarm 集群故障与异常
在上次遭遇 docker swarm 集群故障后,我们将 docker 由 17.10.0-ce 升级为最新稳定版 docker 17.12.0-ce . 前天晚上22:00之后集群中的2个节点突然出 ...
- 开发 | 微信小程序API-wx.setScreenBrightness/wx.getScreenBrightness
前言 最近接触了微信小程序 API - wx.setScreenBrightness .wx.getScreenBrightness 接口,调用该接口可以调节并显示手机屏幕亮度数据.对于喜欢腾讯新闻. ...
- BZOJ:3911: SGU383 Caravans(三角剖分)
原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3911 直接求最小生成树显然边太多,考虑少用点边. 连出来的边肯定是没相交的,我们需要做一下 ...
- April Fools Contest 2017 题解&源码(A,数学 B,数学 C,数学 D,字符串 E,数字逻辑 F,排序,卡时间,G,数学)
A. Numbers Joke time limit per test:2 seconds memory limit per test:64 megabytes input:standard inpu ...