ES6知识库汇总一
来源:互联网 发布:国内外手游推荐知乎 编辑:程序博客网 时间:2024/05/16 09:22
变量声明
1.js 共计6种变量声明方式(var,let,const,function,class,import)。
2.class不存在变量提升。
解构赋值
[a,b]=[b,a]//交换a,b值
数组
1.Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
Array.from(arrayLike, x => x * x);// 等同于Array.from(arrayLike).map(x => x * x);
2.数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
3.Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。
函数
1.function fetch(url, { method = ‘GET’ } = {}) {
console.log(method);//默认等于一个空{},可在调用的时候省略参数
}
fetch(‘http://example.com‘)
2.func = () => foo等于var func=function(){return foo}
3.ES6 引入 rest 参数(形式为“…变量名”),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
…运算符主要用于函数调用,将[1,2,3]<=>1,2,3相互转化
4.另一个例子是通过push函数,将一个数组添加到另一个数组的尾部。
// ES5的写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];Array.prototype.push.apply(arr1, arr2);// ES6的写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];arr1.push(...arr2);
5.扩展运算符可以与解构赋值结合起来,用于生成数组。
// ES5a = list[0], rest = list.slice(1)// ES6[a, ...rest] = list
6.函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。this对象的指向是可变的,但是在箭头函数中,它是固定的。
function foo() { setTimeout(() => { console.log('id:', this.id); }, 100);}var id = 21;foo.call({ id: 42 });//call第一个参数,要执行foo方法的对象,第二个参数,为方法传参。// id: 42
7.函数绑定运算符是并排的两个双冒号(::),双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。
foo::bar;// 等同于bar.bind(foo);foo::bar(...arguments);// 等同于bar.apply(foo, arguments);const hasOwnProperty = Object.prototype.hasOwnProperty;function hasOwn(obj, key) { return obj::hasOwnProperty(key);}
- ES6知识库汇总一
- ES6知识库汇总二
- ES6知识库汇总三
- My 知识库(一)
- es6(一)
- ES6(一)
- es6<一>
- ES6优质文章汇总
- [知识库分享系列] 一、开篇
- 使用ES6基础知识来持续更新我的知识库
- Android安卓开发知识库汇总
- Android安卓开发知识库汇总
- 知识库
- 知识库
- 知识库
- 知识库
- 知识库
- 知识库
- swustoj Aconly时间戳(0275)
- 开源265 IP
- 分治尝试A
- Android源码bootable解析之bootloader LK(little kernel)
- Md5Util
- ES6知识库汇总一
- 给EditText左右两边设置图片与监听(drawableLeft/drawableRight)/弹出键盘
- MIT 线性代数(28—30)读书笔记
- opencv2、3舍弃了CvImage类,写好不容易找到
- DIG (类似nslookup)工具介绍
- java集合框架图和IO流知识图
- HDU 4352 XHXJ's LIS(数位dp)
- 第五次作业
- Easy Java