Es6

1,简介

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。


2,Es6与JavaScript的关系

ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript)。日常场合,这两个词是可以互换的。


3,Es6 let命令

1,ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

2,let,声明的变量仅在块级作用域内有效

3,let   声明的变量不存在变量提升

4,暂时性死区  在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。

5,不允许重复声明  let不允许在相同作用域内,重复声明同一个变量。


4,Es6 const 命令

1,const声明一个只读的常量。一旦声明,常量的值就不能改变。

2,const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。    只声明不赋值,就会报错。

3,const的作用域与let命令相同:只在声明所在的块级作用域内有效

4,const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。

5,const声明的常量,也与let一样不可重复声明。


5,ES6 声明变量的六种方法

1,ES5 的两种声明变量的方法:var命令和function命令

2,ES6添加l了 let和cons t命令,

3,另外两种声明变量的方法:import命令和class命令


6,ES6 变量的解构赋值

解构赋值 :   ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

1,数组中  可以从数组中提取值,按照对应位置,对变量赋值。解构赋值允许指定默认值。

2,对象的解构赋值    对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

3,字符串的解构赋值  类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值。

4,数值和布尔值的解构赋值  解构赋值时,如果等号右边是数值和布尔值,则会先转为对象

7,Set

1,基本用法 :  ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。

2,Set 实例的属性和方法

属性:  Set.prototype.constructor:构造函数,默认就是Set函数。  Set.prototype.size:返回Set实例的成员总数。

操作方法 :  add(value):添加某个值,返回Set结构本身。

                     delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

                     has(value):返回一个布尔值,表示该值是否为Set的成员。

                     clear():清除所有成员,没有返回值。

遍历操作方法:  keys():返回键名的遍历器

                           values():返回键值的遍历器

                           entries():返回键值对的遍历器

                          forEach():使用回调函数遍历每个成员

8,Map

1,含义 :  类似于对象  键值对的集合

2,实例的属性与方法

size属性    size属性返回 Map 结构的成员总数

set(key, value)   方法

set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。

get(key)  方法

get方法读取key对应的键值,如果找不到key,返回undefined。

has(key)  has(key)

has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。

has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。

你可能感兴趣的:(Es6)