1. .   Default Parameters(默认参数) in ES6

    2.    Arrow Functions (箭头函数)in ES6

    3.    Block-Scoped Constructs Let and Const(块作用域构造Let and Const)

    4.    Template Literals (模板文本)in ES6

    5.    Multi-line Strings (多行字符串)in ES6

    6.    Destructuring Assignment (解构赋值)in ES6

    7.   Classes(类) in ES6

    8.    Modules(模块) in ES6

    9.    Promises in ES6

    10.  Enhanced Object Literals (增强的对象文本)in ES6

    前三个特性已在上一篇博客中讲过,现在从第四个开始

    4.Template Literals(模板对象) in ES6

    在其它语言中,使用模板和插入值是在字符串里面输出变量的一种方式。因此,在ES5,我们可以这样组合一个字符串:

    //ES5
    var first="sun";
    var last='menghua';
    var name='My name is '+first +' '+last+'.';
    console.log(name);
    //My name is sun menghua.

    在ES6中,我们可以使用新的语法$ {NAME},并把它放在反引号

    var first="sun";
    var last='menghua';
    var name=`My name is ${first} ${last}.` ;
    console.log(name);
    //My name is sun menghua.

    5.Multi-line Strings (多行字符串)in ES6

    在ES5中,我们不得不使用以下方法来表示多行字符串:

    var poem=' wo shi yi zhi xiao qing long,\n'
    +'xiao qing long,\n '
    +'wo you yi ge xiao mi mi,\n'
    + 'xiao mi mi.'
    console.log(poem);
    /*
    wo shi yi zhi xiao qing long,
    xiao qing long,
    wo you yi ge xiao mi mi,
    xiao mi mi.
    */ 

    在ES6中,仅仅用反引号就可以解决了:

    var poem=`wo shi yi zhi xiao qing long,
    xiao qing long,
    wo you yi ge xiao mi mi,
    xiao mi mi.`
    console.log(poem);
    /*
    wo shi yi zhi xiao qing long,
    xiao qing long,
    wo you yi ge xiao mi mi,
    xiao mi mi. */

       6. Destructuring Assignment (解构赋值)in ES6

数组和对象是JS中最常用也是最重要表示形式。为了简化提取信息,ES6新增了解构,这是将一个数据结构分解为更小的部分的过程

const people = {
name: 'lux',
age: 20
}
const name = people.name
const age = people.age
console.log(name + ' --- ' + age)
//lux --- 20

在ES6之前我们就是这样获取对象信息的,一个一个获取。现在,解构能让我们从对象或者数组里取出数据存为变量,例如

{
//对象
const people = {
name: 'lux',
age: 20
}
const { name, age } = people
//必须为name,age,即原属性名;其顺序可以改变
console.log(`${name} --- ${age}`)
// lux --- 20
//数组
const color = ['red', 'blue']
const [first, second] = color
console.log(first) //'red'
console.log(second) //'blue'
}

https://www.cnblogs.com/sunmarvell/p/9109650.html

7.Class(类) in ES6      class,extends,super

ES5中有几个令人头疼的属性,事实上,js实际上并没有“类“的说法,由于过于不方便,我们用原型,原型链的形式添加了类似可以实现继承的方法。实际上这种写法由于和大多数后端语言java c#等编程语言相差甚远并且语法复杂,this指向混乱,这让很多习惯写后端语言的大神们并不习惯,终于在ES6里提供了更接近传统语言的写入引用了CLASS。

class Parents {
constructor(){
this.type = 'parents'
}
says(say){
console.log(this.type + ' says ' + say)
}
} let parent = new Parents ()
parent .says('hello') // parents says hello class Kid extends Parents {
constructor(){
super()
this.type = 'kid'
}
} let kid = new Kid()
kid .says('hi') //kid says hi

从上面的代码可以看出这种“类”的形式已经很接近传统意义了。首先定义一个类名为Parent的类,constructor(){}为构造方法,在构造方法内定义的方法与属性都是实例本身的,而constructor外的方法与属性是大家共享的。

两个类之间可以用extends来实现继承,通过extends来继承可以直接继承其要继承的类中(Parents)所有属性和方法。

supper();指父类的实例,在新建实例时子类必须在constructor(){}中调用super();由于子类没有自己的this对象,只能通过继承父类的this来进行操作,如若不调用super(),则子类无this对象。

    8.    Modules(模块) in ES6

http://www.cnblogs.com/sunmarvell/p/8819537.html

   9.    Promises in ES6

https://segmentfault.com/a/1190000007685095

ES6十大常用特性的更多相关文章

  1. C#6.0 十大常用特性

    一.字符串插值 (String Interpolation) C# 6之前我们拼接字符串时需要这样 var Name = "Jack"; var results = "H ...

  2. ES6的十大新特性(转)

    add by zhj: 该文章是由国外一哥们写的,由腾讯前端团队翻译,图片中的妹子长得挺好看的,很养眼,嘿嘿.我目前在学习ES6,这篇文章把ES6的 几个主要新特性进行了归纳总结,犹如脑图一般,让人看 ...

  3. 前端开发者不得不知的ES6十大特性

    前端开发者不得不知的ES6十大特性 转载 作者:AlloyTeam 链接:http://www.alloyteam.com/2016/03/es6-front-end-developers-will- ...

  4. Java基础学习总结(33)——Java8 十大新特性详解

    Java8 十大新特性详解 本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API ...

  5. ES6的一些常用特性

    由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...) ...

  6. 有史来最大改变 Android 5.0十大新特性

    有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 )   距离Android系统上一次重大更新不到一年的时间,谷歌 ...

  7. SEO站长必备的十大常用搜索引擎高级指令

    作为一个seo人员,不懂得必要的搜索引擎高级指令,不是一个合格的seo.网站优化技术配合一些搜索引擎高级指令将使得优化工作变得简单.今日就和大家聊聊SEO站长必备的十大常用搜索引擎高级指令的那些事儿. ...

  8. Android 5.0(棒棒糖))十大新特性

    Android 5.0(棒棒糖))十大新特性 1. 全新Material Design设计风格 Android Lollipop全新的设计语言是受到了多种因素影响,是一种大胆的平面化创新.换句话说,谷 ...

  9. Java9发布回顾Java 8的十大新特性

    java9已经在北京时间9月22日正式发布,开发者可以在oracle jdk官网上下载到最新的jdk9. 今天,我们先来一起复习一下2014年发布的Java 8的十大新特性.先来喝杯java~~~ 按 ...

随机推荐

  1. http转https

    1.先用jdk生成证书 先跳转到jdk的bin目录下:E:\Program Files\Java\jdk1.8.0_91\bin>keytool -genkey -alias tomcat -k ...

  2. omnidazzle是mac的画笔工具

    先使用命令 brew cask install omnidazzle 试试,不行参考下面: http://macappstore.org/omnidazzle/

  3. git锁和钩子以及图形化界面

    1.锁机制 Locking Options 严格锁(strict locking):一个时刻,只有一个人可以占用资源. 乐观锁(optimistic locking):允许多个人同时修改同一文件.乐观 ...

  4. CSDN 夏令营程序 试题分析 (2)

    题目:若须要在O(nlogn)(以2为底)的时间内完毕对数组的排序.且要求排序是稳定的,则可选择的排序方法是: A.高速排序       B.堆排序            C.归并排序  D.直接插入 ...

  5. python:functools之partial

    示例:from operator import addimport functoolsprint add(1,2) #3add1 = functools.partial(add,1)print add ...

  6. phpunit 单元测试框架-代码覆盖率

    "phpize not found" 的解决办法: apt-get install php5-dev http://jeffreysambells.com/2010/04/08/r ...

  7. php把时间计算成几分钟前,几小时前,几天前的函数

    function time_tran($the_time){ $now_time = date("Y-m-d H:i:s",time()+8*60*60); $now_time = ...

  8. javascript返回顶端源代码

    <div style="display:none" id="goTopBtn"><img src="http://www.unity ...

  9. Python爬虫开发【第1篇】【beautifulSoup4解析器】

    CSS 选择器:BeautifulSoup4 Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. pip 安装:pip instal ...

  10. ibatis 取消查询动态列的缓存

    ibatis在查询结果列不确定(或是动态变化)的情况下,会因为列缓存的原因导致变化后的列数据查不出来 解决方法是: select标签有个属性remapResults,该属性默认值为false,设置成r ...