ECMAScript6 ES6 ES2015新语法总结
1、let定义变量:不能重复定义、作用域
2、const:定义常量
3、解构赋值:let [a,b,c] = [1,2,3];// a=1 b=2 c=3
4、箭头函数:
function fn(a,b){
return a + b;
}
//等价于
let fn = (a,b) => {
return a + b;
}
//且等价于(若函数中只有一条return语句时)
let fn = (a,b) => a + b;
//若函数只有一个参数a
let fn = a => a + b;
5、数组新方法:
map映射:
let arr = [18,26,60,58,95,84];
let arr2 = arr.map(item => item>=60);/*[false, false, true, false, true, true]*/
6、promise的用法: 对于异步回调方法, 如果异步过多, 并且后面的异步要依赖前面异步的执行结果, 那多会有多层嵌套, 代码维护比较复杂, promise就是专门为了解决这种场景。实例如下:
promseTest:function(){
let p = new Promise(function(resolve,reject){
setTimeout(function(){
console.log("第一个异步执行完成");
resolve('第一个异步结果');
},2000);
});
return p;
},
promseTest1:function(){
let p = new Promise(function(resolve,reject){
setTimeout(function(){
console.log("第二个异步执行完成");
resolve('第二个异步结果');
},2000);
});
return p;
},
onLoad: function (options) {
let _this = this;
this.promseTest().then(function(data){
console.log(data);//第一个异步结果
return _this.promseTest1();//返回另外一个异步方法,在下一个then中执行
}).then(function(data){
console.log(data);//第二个异步结果
});
},
7、 Set 数据类型: 类似数组, 成员不重复
let set = new Set([1,2,2,3,4]); //1 2 3 4
set.add(5); set.has(1); set.delete(1);
console.log(set.size); //4
//数组去重
let set = new Set([1,2,2,3,4]); //数组转Set(自动去重)
let arrUnique = Array.form(set); //Set转数组
或 let arrUnique = [...new Set([1,2,2,3,4])]; //数组一步去重
//set集合操作
let a = new Set([1,2,3]);
let a = new Set([4,3,2]);
//Set求并集
let unique = new Set([...a,...b]); //Set(4) {1, 2, 3, 4}
//Set求交集
let com = new Set([...a].filter(x => b.has(x))); //Set(2) {2, 3}
//Set求差集
let diff = new Set([...a].filter(x => !b.has(x))); //Set(1) {1} a相对于了的差集
8、 Map 可以使用任何数据类型做为key的object
const m = new Map();
const o = {p:'hello world'};
m.set(o,"content");
console.log(m);
//数组定义map
const map = new Map([
['name', '张三'],
['title', 'Author']
]);
//相关属性
m.size; m.get('a'); m.set('a','a'); m.has('a'); m.delete('a'); m.clear();
let arr = [...map]; //Mmap 转数组 //也可以转object json
最新文章
- 前端 动态表单提交(post、put)
- Win7虚拟机无法打开内核设备:\\Global\\vmx86
- TCP和UDP的保护消息边界机制
- EasyUI 我的第一个窗口
- 8 simple things that will make you sexy
- 关于Eclipse开发插件(三)
- EasyUI实例源码
- 桌面上嵌入窗口(桌面日历)原理探索(将该窗口的Owner设置成桌面的Shell 窗口,可使用SetWindowLong更改窗口的GWL_HWNDPARENT,还要使用SetWindowPos设置Z-Order)
- 在线试听功能(前端直接略过吧,适合javaEE后台开发的)
- NPOI 1.2 教程
- 关于:无法创建链接服务器 ";ORCL"; 的 OLE DB 访问接口 ";OraOLEDB.Oracle"; 的实例 (错误:7302)
- 知识点---<;input>;、<;textarea>;
- WebService SOAP
- 《数据库技术基础与应用(第2版)》学习笔记&mdash;&mdash;第7章~
- mysql排序(四)
- Properties集合_list方法与store方法
- Open GL的学习路程
- 随机数生成 &;&; 生成执行锁
- UVA-1153 Keep the Customer Satisfied (贪心)
- combiner中使用状态模式