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
ECMAScript6 ES6 ES2015新语法总结的更多相关文章
- 总结常见的ES6新语法特性
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- 总结常见的ES6新语法特性。
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- ES6 | ES6新语法 在编码实践中的应用
本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 多家公司和组织已经公开了它们的风格规范,本文的内容主要参考了 ...
- 如何在webpack开发中利用vue框架使用ES6中提供的新语法
在webpack中开发,会遇到一大推问题,特别是babel6升级到babel7,要跟新一大推插件,而对于安装babel的功能就是在webpack开发中,vue中能够是用ES6的新特性: 例如ES6中的 ...
- ECMAscript6(ES6)新特性语法总结(一)
ES6/ES2015,,在ES5的基础上扩展了很多新的功能,在使用的时候要慎重,因为有一部分js代码在部分浏览器是不兼容的,但是所有写在服务器端的代码基本上都支持ES6的写法. 新特性: 一.开启严格 ...
- ES6新语法
ES6新语法概览 简介 ES6是JavaScript语言的新一代标准,加入了一些新的功能和语法,正式发布于2015年6月,亦称ES2015:该标准由ECMA(欧洲计算机制造联合会)的第39号技术专家委 ...
- ES6新语法的介绍
对于ES6新语法,阮一峰有一篇文章介绍的挺详细 http://es6.ruanyifeng.com/#docs/destructuring
- ES6新语法之let关键字;有别于传统关键字var的使用
ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...
- ES6的新特性(19)——Module 的语法
Module 的语法 概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来.其他语言都有这项功能,比如 Ruby 的re ...
随机推荐
- YII扩展功能图
- Odoo14 收发邮件服务器设置
# 维护邮箱的七个地方 # 1.settings中Discuss栏将External Email Servers勾选(启用外部邮件服务),然后维护Alias Domain(域名) # 2.Techni ...
- 11中javascrip教程教不到的小技巧
1.过滤唯一值 Set对象类型是在ES6中引入的,配合展开操作...一起,我们可以使用它来创建一个新数组,该数组只有唯一的值. 1 const array = [1, 1, 2, 3, 5, 5, 1 ...
- 日志(logging模块)
1. 为什么要使用日志(作用) 在学习过程中,写一个小程序或小demo时,遇到程序出错时,我们一般会将一些信息打印到控制台进行查看,方便排查错误.这种方法在较小的程序中很实用,但是当你的程序变大,或是 ...
- linux-0.11分析:init文件 main.c的第二个初始化函数trap_init() 第五篇随笔
2.第二个初始化函数,trap_init() 参考 [github这个博主的 厉害][ https://github.com/sunym1993/flash-linux0.11-talk ] kern ...
- Win10使用fvm管理多个Flutter版本
Win10使用fvm管理多个Flutter版本 参考:https://blog.csdn.net/PyMuma/article/details/115298645 1.升级Flutter 由于现在的f ...
- 开源深度思考 - In Community We Trust
作者 | 黄东旭,PingCAP 联合创始人&CTO 出品 | CSDN(ID:CSDNnews) 业界一直流传着黄东旭的传说:小学三年级开始写代码,四五年级学习C语言,初中毕业时,已经能够用 ...
- Unhandled Exception: MissingPluginException(No implementation found for method launch on channel)
在添加依赖包时,可能会出现Unhandled Exception: MissingPluginException(No implementation found for method launch o ...
- oracle 怎么查看用户对应的表空间
oracle 怎么查看用户对应的表空间? 查询用户: 查看数据库里面所有用户,前提是你是有 dba 权限的帐号,如 sys,system: select * from dba_users; 查看你能管 ...
- Java Web中MVC设计模式与IOC
MVC是由Model(模型).View(视图).Controller(控制器)三个模块组成 视图:用于做数据展示以及和用户交互的一个界面(html页面) 控制层:能够接受客户端的请求,具体的业务功能还 ...