《ECMAScript6 入门》笔记

书籍地址:http://es6.ruanyifeng.com/javascript

1.let和const命令java

新增let命令,用来声明变量,用法和var相似。var声明在一个函数声明做用域里有效,let声明在一个区块做用域里有效。 var声明有“变量提高”的现象,let声明不能在变量声明以前使用会报语法错误。es6

let语法实际为javascript新增了区块做用域的概念。现有的区块做用域是经过自执行的匿名函数来模拟的。正则表达式

const也是用来声明变量,但声明的是常量,一旦声明,学量的值将不能改变。数组

2.数组和对象的解构赋值函数

用途不少,具体见文档编码

3.字符串的扩展url

codePointAt 做用和charCodeAt相似,对于Unicode编码大于0xFFFF的字符(即须要4个字节存储的字符)能够正确的解析。spa

正则表达式新添加u修饰符,用来正确处理编码大于0xFFFF的字符。.net

正则表达式新添加y修饰符,与g修饰符相似,只不过匹配必须从第一个字符开始,做用和^和g同时使用。

字符串实例新增contains(),starWith(),endWith(),repeat()。

模板字符串中能够嵌入变量,拼接字符串比较好用

4.数值的扩展

提供了二进制和八进制数值的写法,分别以0b和0o开发

parseInt和parseFloat由全局方法移值到Number对象上。

Math提供了许多数学方法

5.数组的扩展

提供简洁写法,容许直接经过现有数组生成新数组,这被称为数组推导

提供三个新的方法——entries(),keys()和values()——用于遍历数组。

Array.observe(),Array.unobserve() 这两个方法用于监听(取消监听)数组的变化,指定回调函数。

6.对象的扩展

Object.assign方法用来将源对象(source)的全部可枚举属性,复制到目标对象(target)。它至少须要两个对象做为参数,第一个参数是目标对象,后面的参数都是源对象。只要有一个参数不是对象,就会抛出TypeError错误。

容许定义对象时,用表达式做为对象的属性名。在写法上,要把表达式放在方括号内。

原生提供Proxy构造函数,用来生成proxy实例对象。所谓Proxy,能够理解成在目标对象以前,架设一层“拦截”,外界对该对象的访问,都必须先经过这层拦截,能够被过滤和改写。

Object.observe(),Object.unobserve().Object.observe方法用来监听对象的变化。一旦监听对象发生变化,就会触发回调函数。Object.unobserve方法用来取消监听。

7.函数的扩展

容许使用“箭头”(=>)定义函数。

引入rest参数(...变量名),用于获取函数的多余参数,这样就不须要使用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。

扩展运算符(spread)是三个点(...)。将一个数组转为用逗号分隔的参数序列。该运算符主要用于函数调用。

8.Promise对象

原生提供了Promise对象。

9.class和Moudle

引入了类的概念,使用关键字class能够定义一个类;class之间经过extends实现继承

实现了模块功能,模块功能有两个关键字:export和import。export用于用户自定义模块,规定对外接口;import用于输入其余模块提供的功能,同时创造命名空间(namespace),防止函数名冲突。

相关文章
相关标签/搜索