ECMAScript 简介

  简称es,是一套标准,javascript就是使用这套标准的语言。主流的浏览器使用的是ECAMScript5,ECAMScript6(ECAMScript2015)是一涛新的标准,添加了新的特性。借助bable和jspm可以使用它的新特性。

1、块的作用域

作用域,即变量有效的范围(声明的变量在什么地方可以使用)。之前js只有全局作用域和函数作用域,es6中有了块级作用域。

    

  只能在块中访问。

  另外var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

2、恒量(常量)

  const声明恒量,声明的恒量不能被分配新的值。

    

  不能重新分配恒量的值,单可以改变其值。如下

    

3、解构数组(分解其解构)

  把 ['蛋糕', '咖啡', '苹果'] 数组分配给其他变量,老方法如下:

   

  新方法如下:

  

  结果:

  

4、解构对象(分别使用对象中的属性值)

    

5、模板字符串 Template Strings

  旧方法:

  

  新特性:

  

  结果:

  

  自动识别换行,方便我们多行显示

    

6、带标签的模板字符串  Tagged Templates

  可以在模板字符前面插入一个标签来处理模板字符串里边的字符,这里的标签其实就是一个函数。

    

  raw中表现如下:

  早餐后加\n换行 raw中是没有处理的

    

  输出模板字符串的内容:

    

7、判断字符串里是否包含其他字符串(includs、startsWith、endsWith)

    includs判断一个字符串中是否包含另一个字符串

  startsWith判断某个字符串中是不是已另一个字符串开头

  endsWith判断某个字符串中是不是已另一个字符串结尾

    

    

8、默认参数 Default Parameter Values

  可以为定义的函数的参数设置默认值

    

    

9、展开操作符 spread(...)

  比如我们要展开数组中的每一项:

    

  第一个输出的是数组,第二个输出的是数组中的内容,他的功能显而易见了。

  那么想把fruit展开放入另一个数组怎么做呢:

    

10、剩余操作符  Rest(...)

一般用在函数的参数里边:

    

  上面函数出了可以传dessert和drink两个参数之外, 还可传其他参数,其他参数都会被放在foods的数组里边

  当然这边还可以使用spread操作符来展开:

    

11、解构参数 Destructured Parameters

  

12、函数的名字(name属性)

  使用匿名函数的方式,name属性函数的名字是变量名

    

  声明函数名字时,name属性对应函数的函数名(优先级)

    

13、箭头函数 Arrow Functions

  普通箭头函数

    

  多个参数的箭头函数

    

14、对象表达式

  声明一个对象,对象内容可以直接引用定义的变量值:

  之前需要这样引用  

  es6里面不需要冒号后面的东西   

  在对象中添加一个方法之前是

let dessert = '蛋糕', drink = '咖啡';

let foods = {
dessert,
drink,
breakfast: function(){console.log(1)}
} console.log(foods)

  es6中可以省掉function

let dessert = '蛋糕', drink = '咖啡';

let foods = {
dessert,
drink,
breakfast(){console.log(1)}
}
console.log(foods)

一小时学会ECMAScript6新特性(一)的更多相关文章

  1. 一小时学会ECMAScript6新特性

    ECMAScript 简介 简称es,是一套标准,javascript就是使用这套标准的语言.主流的浏览器使用的是ECAMScript5,ECAMScript6(ECAMScript2015)是一涛新 ...

  2. 一小时学会ECMAScript6新特性(二)

    1.对象属性名 es5中我们为一个对象添加属性可以用如下代码: let foods = {}; foods.dessert = '蛋糕'; console.log(foods) 但是属性名中间有空格则 ...

  3. ECMAScript6新特性之let、const

    第一次在博客园写博客,想把自己每一天学习到的知识点记录下来,心里有点紧张(PS:不知道自己能不能写好......嘿嘿).言归正传,咱们先来说说"ECMAScript"这到底是啥玩意 ...

  4. 轻松学会ES6新特性之生成器

    生成器虽然是ES6最具魔性的新特性,但也是最难懂得的一节,笔者写了大量的实例来具体化这种抽象的概念,能够让人一看就懂,目的是希望别人不要重复或者减少笔者学习生成器的痛苦经历. 在说具体的ES6生成器之 ...

  5. web全栈架构师[笔记] — 01 ECMAScript6新特性

    ES6新特性 一.变量 var:重复定义不报错:没有块级作用域:不能限制修改 let:变量,不能重复定义,有块级作用域 const:常量,不能重复定义,有块级作用域 二.函数/参数 箭头函数——简写: ...

  6. ECMAScript6 | 新特性(部分)

    新特性概览 参考文章:http://www.cnblogs.com/Wayou/p/es6_new_features.html 这位前辈写的很好,建议深入学习 ———————————————————— ...

  7. ECMAscript6新特性之解构赋值

    在以前,我们要对变量赋值,只能直接指定值.比如:var a = 1;var b = 2;但是发现这种写法写起来有点麻烦,一点都不简洁,而在ECMAScript6中引入了一种新的概念,那就是" ...

  8. ECMAScript6新特性之Array API

    一 填充数组 var arr = new Array(5); arr.fill('abc',2,4); console.log('Array.prototype.fill',arr); // [und ...

  9. ECMAScript6新特性之Reflect

    一 Reflect.ownKeys()获取对象属性. 可枚举的.不可枚举的.自有的.继承的. let fruit = { '2' : 'mango', [Symbol.for('pink')] : ' ...

随机推荐

  1. ArcGis使用字段别名Alias Name导出Excel

    在ArcMap10.3+(根据官网描述应该是,作者测试使用10.5,可行)以后的版本,可以使用ArcToolbox工具导出Excel. 工具位置ConversionTools——Excel——Tabl ...

  2. python中__str__与__repr__的区别

    __str__和repr __str__和__repr__都是python的内置方法,都用与将对象的属性转化成人类容易识别的信息,他们有什么区别呢 来看一段代码 from math import hy ...

  3. VMware 安装虚拟机系统

    Ø  简介 本文主要介绍使用 VMware 安装虚拟机系统. 1.   创建虚拟机 1)   打开VMware,创建新虚拟机 2)   选择需要安装系统的iso镜像文件 3)   选择需要安装的Win ...

  4. 执行python文件

    方法一: 通过控制台程序,一行一行执行python程序,输一行执行一行 方法二: 将程序用编辑器编辑好,再在控制台中用路径打开一次性执行(前提是py程序的默认打开方式是python解释器)

  5. 解决系统中大量的TIME_WAIT连接

    今天发现网站特别卡!! 查看网络连接数: netstat -an |wc -l netstat -an |grep xx |wc -l        查看某个/特定ip的连接数 netstat -an ...

  6. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  7. jmeter使用csv传参进行并发测试验证

    1.获取到注册接口,添加HTTP信息头管理器.HTTP请求,设置好入参,且检查使用csv文件传参的入参 2.创建csv文件,写入需要传的入参 3.添加CSV Data Set Config 设置配置 ...

  8. 如何在sublime安装ctags函数追踪插件

    一.这个插件是需要下载执行软件才能够操作的,下载地址http://prdownloads.sourceforge.net/ctags/ctags58.zip 然后解压到自己喜欢的目录下,我是安装到 D ...

  9. C#获取用户登录IP地址

    public static string GetUserIp() {        string ip;        string[] temp;        bool isErr = false ...

  10. linux deepin 无线网卡不能用,打不开

    今天安装了NVIDIA的大黄蜂驱动,重启,开机,无线网打不开了, (后来又看到蓝牙功能没了,忙碌中知道了wifi和蓝牙是在一起的,一损俱损!) 折腾了一下午 首先,我上deepin官网找了一圈,没解决 ...