ES6 就是ECMAScript 6是新版本JavaScript语言的标准。虽然目前已经更新到ES7,但是很多浏览器还不知处ES7语法,该标准仍在更新中,但目前部门网站都指出ES6的语法。目前ES6也是使用最多的最新的javaScript语言标准。要查看ES6的支持情况请点此

在2009年ES5问世以后,javaScript的标准就一直没有更新。从那时起ES标准委员会就已经开始筹划新的ES标准,在2015年发布了ES6。ES6是ECMAScript 的第6个版本。

经过持续几年的磨砺,它已成为 JS 有史以来最实质的升级,特性涵盖范围甚广, 小到受欢迎的语法糖,例如箭头函数(arrow functions)和简单的字符串插值(string interpolation),大到烧脑的新概念,例如代理(proxies)和生成器(generators) 。

ES6将彻底改变程序员们编写JS代码的方式。接下来就来体验一下ES6的新特性带来便利之处吧!

1.字符串文本内容,通常用于在自定义模板中

    let html="我是模板内容";
let content=`<div><p>${html}</p></div>`;
console.log(content)

(注意) 模板内容是以"`"符号作为开头和结束字符。

结果:

2.数组的扩展,es6提供了对数组的扩展,对数组操作更加便利

Array.from :把元素集合转换成数组

 let list=document.querySelectorAll('li');//li元素集合
let arr=Array.from(list);//转换成数组
arr.forEach(function (k,v) {//不管是对象还是数组还是集合都可以使用forEach遍历方法获得里面的数据
k.innerText="我是值:"+v;
console.log(k.innerText)
})

  结果:

Array.of :把字符串转换成字符数组

    let arr2=Array.of("zhansg","lis","校门");
console.log(arr2); 

结果:

3.对对象的一些简写操作,对对象一些便利的书写方式

原始案例:

    let  name="zhangs";
let age=20;
let person={
name=name,
age=age
};
console.log(person);

  es6语法糖书写方式

    let  name="zhangs";
let age=20;
let person={
name,
age
};
console.log(person);

 4.对象合并,对象合并在日常开发中经常用到,非常便利

Object.assign(目标对象,合并对象1,合并对象2,........);

    let obj={name:"zhans"};
let obj2={age:30};
let obj3={sex:"男"};
let sumobj={};
let result= Object.assign(sumobj,obj,obj2,obj3);//使用Object.assign()方法合并对象
console.log(result);

结果:

5.箭头操作符(lambda表达式语法)

在Java&C#中lambda表达式是非常好用的,可以简化大量代码,在es6里面也有异曲同工之妙。

    let arr=[5,8,6,5,6,5,];
//普通写法
arr.forEach(function (v) {
console.log(v);
});
//es6写法
arr.forEach(v => console.log(v));//一行带过 适用于写返回值的时候

6.解构

自动解析数组或对象中的值。比如若一个函数要返回多个值,常规的做法是返回一个对象,将每个值做为这个对象的属性返回。但在ES6中,利用解构这一特性,可以直接返回一个数组,然后数组中的值会自动被解析到对应接收该值的变量中。

var [x,y]=getVal(),//函数返回值的解构
[name,,age]=['wayou','male','secrect'];//数组解构 function getVal() {
return [ 1, 2 ];
} console.log('x:'+x+', y:'+y);//输出:x:1, y:2
console.log('name:'+name+', age:'+age);//输出: name:wayou, age:secrect

  

//对象解构
let {name,age,sex} ={
name:"张三",
age:20,
sex:"男"
};
console.log(name);
console.log(age);
console.log(sex);

 开发常用的就罗列几个出来,更多实例请参考:https://www.cnblogs.com/Wayou/p/es6_new_features.html

总结:可以把后端的思想运用的前端来,也许以后就不没有前端了。

ES6语法的新特性的更多相关文章

  1. ES6 主要的新特性

    本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony( ...

  2. 深入浅出:了解JavaScript的ES6、ES7新特性

    参照阮一峰博客:http://es6.ruanyifeng.com/#README es6常见题:https://blog.csdn.net/qq_39207948/article/details/8 ...

  3. ES6的十个新特性

    这里只讲 ES6比较突出的特性,因为只能挑出十个,所以其他特性请参考官方文档: /** * Created by zhangsong on 16/5/20. *///    ***********Nu ...

  4. ES6中常用新特性讲解

    1.不一样的变量声明:const和let ES6推荐使用let声明局部变量,相比之前的var(无论声明在何处,都会被视为声明在函数的最顶部) let和var声明的区别: var x = '全局变量'; ...

  5. 2.ES6引进的新特性——类Class

    为什么? ES6中引入了类,类在java/c++等面向对象的编程语言常见,JS引入类是为了在日后使用js开发大型的应用程序,类本质是语法糖(语法上更加人性化) 以前写一个类 function User ...

  6. ES6/ES7/ES8新特性

    ES6 变量的改变 let const 2. 字符串新增方法 let str = 'react'; str.includes('re') // true str.repeat(3) // reactr ...

  7. 关于ES6的一些新特性的学习

    一.关于变量 ES5 1.只有全局作用域变量和函数作用域变量 2.“变量提升”(当程序进入一个新的函数时,会将该函数中所有的变量的声明放在函数开始的位置.仅仅会提升变量的声明,不会提升变量的赋值) E ...

  8. ES6 开发常用新特性以及简述ES7

    一.关于变量 ES6新增:块级作用域变量 1.let定义块级作用域变量 没有变量的提升,必须先声明后使用 let声明的变量,不能与前面的let,var,conset声明的变量重名 { { consol ...

  9. ES6中的新特性

    本人最近学习es6一些方法,难免有些手痒,想着能不能将这些方法总结下,如下 1.数组的扩展 1)首先什么是伪数组 无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法 ...

随机推荐

  1. Hibernate 一对一、一对多、多对多注解cascade属性的总结

    作用:是否级联被注解字段里面的对象.可选值:javax.persistence.CascadeType.PERSIST, MERGE, REMOVE, REFRESH, DETACH, ALL.可选其 ...

  2. Druid.io系列(九):数据摄入

    1. 概述 Druid的数据摄入主要包括两大类: 1. 实时输入摄入:包括Pull,Push两种 - Pull:需要启动一个RealtimeNode节点,通过不同的Firehose摄取不同种类的数据源 ...

  3. JAVA构造函数在超类和子类调用注意事项

    1.构造函数:        当子类继承一个父类时,构造子类时需要调用父类的构造函数,存在三种情况        (1),父类无构造函数或者一个无参数构造函数,子类若无构造函数或者有无参数构造函数,子 ...

  4. linux find中的-print0和xargs中-0的奥妙

    默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('n'), 因此我们看到的 find 的输出都是一行一行的: 比如我想把所有的 .log 文件删掉, 可以这样配合 xargs ...

  5. 用VIM设置UTF-8编码的BOM标记

    1.去掉BOM标记: :set nobomb 2.加上BOM标记: :set bomb 3.查询当前UTF-8编码的文件是否有BOM标记: :set bomb? 4.更高级一点的: :%!xxd &q ...

  6. 超简单让ubuntu开启wifi热点(亲测16.04与14.04可用)

    今天教大家一个简单方法让ubuntu发散wifi热点给手机或者其他设备使用. 首先,创建一个普通的热点,点击右上角的网络,然后选择下拉菜单中的编辑连接,然后出现以下界面. 然后点击增加,连接类型选接W ...

  7. Quest *nix Xwindows

    国内一般网站搜到的linux系统添加Xwindows都是无法完成的,至少我在Ct6.3上不行,也许是yum源配置不同问题 我举个站点大家自己上去看,本人就不多说了,多说也无益,. http://yao ...

  8. scrapy框架的日志等级和请求参数

    一 . Scrapy的日志等级 - 在使用 scrapy crawl xxx 允许程序时,在终端里打印输出的就是scrapy的日志信息 - 日志信息的种类 : ERROR : 错误信息 WARNING ...

  9. GeoServer之图层的新建与发布

    GeoServer之图层的新建与发布 GeoServer的图层发布并不复杂,在经过: 1.创建工作区 2.添加新的数据存储 3.编写styles 后:我们就可以很简单的创建图层了. 1.在新建图层中选 ...

  10. 使用ssh client与bash scripts轻松管理多台主机

    当我们需要控制一个局域网中的很多台服务器时,一个简单的全局操作可能会被放大地异常繁琐,这时我们就会需要新的工具来快速完成这种工作. 我们将使用ssh客户端提供的一些工具来快速完成这一开发工作,我们的开 ...