《ECMAScript6 入门》笔记

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

1.let和const命令

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

let语法实际为javascript新增了区块作用域的概念。现有的区块作用域是通过自执行的匿名函数来模拟的。

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

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

用途很多,具体见文档

3.字符串的扩展

codePointAt 作用和charCodeAt类似,对于Unicode编码大于0xFFFF的字符(即需要4个字节存储的字符)可以正确的解析。

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

正则表达式新添加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),防止函数名冲突。

转载于:https://my.oschina.net/u/1789963/blog/293095

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值