Professional Documents
Culture Documents
高洛峰
课程大纲
认识 ES6
» 函数的参数
ES6 兼容性解决
let 和 const » 解构赋值
箭头函数 » Class 的用法
数组的新增方法
» JSON 的新应用
Map 数据结构
字符串和新增方法和模版字符串 » Module 模块
» ES7-ES11 的一些新特性介绍
ECMAScript 和 JavaScript 的关系
ECMA 是“ European Computer Manufacturers Association” 的缩写,中文称欧洲计算机制造联合
会。这个组织的目标是评估,开发和认可电信和计算机标准。
目前版本
高级浏览器支持 ES6
低级浏览器主要支持 ES3.1
ECMA 标准出台流程
ECMAScript 是跨多个平台的许多厂商(包括浏览器厂商在内的各方组成)实施的不断发展的标
准。 ES6 ( ECMAScript 2015 )花费六年的时间敲定,是一个很大的发行版。新的年度发布流程被制
定,以简化流程并更快地添加功能。 ES11 ( ES2020 )是目前的最新版本。推动 JavaScript 提案沿着
一条严格的发展道路前进 :
2009 年 ES5(ES3.1) 新功能主要包括: JSON 对象(包含 parse/stringify 等方法)、 Array 和 Object 增加一些方法,严格模式( use stric
t ),函数的 bind 方法。
2011 年 ES5.1 成为 ISO 国际标准( ISO/IEC 16262:2011) , 到了 2012 年底,主流浏览器都支持 ECMAScript 5.1 的全部功能
2015 年 ES2015(ES6) 做了大量的更新,但向后兼容。 ES6 是一次重大改进。
部分功能: let/const 、变量的解构赋值、 Promise 、箭头函数…
filter 过滤器
map 映射
reduce 汇总
some()
every()
Set 和 Map 数据结构
Map 数据结构类似于对象,是键值对的集合,传统的键只能用字符串, Map 的键不限于字符串,各种类型的值(包括
对象)都可以当作键。
属性和操作方法
size 属性,返回 Map 结构的成员总数
set(key,value) 方法,设置 set 方法设置键名 key 对应的键值为 value ,然后返回整个 Map 结构。如果 key 已经有值,则键值会被更新,否则就
新生成该
get(key) 方法,读取 key 对应的键值,如果找不到 key ,返回 undefined
has(key) 方法,返回一个布尔值,表示某个键是否在当前 Map 对象之中。
delete(key) 方法,删除某个键,返回 true 。如果删除失败,返回 false 。
clear(key) 方法,清除所有成员,没有返回值。
Map 遍历
keys() 返回键名的遍历器
values() 返回键值的遍历器
entries() 返回所有成员的遍历器
forEach() 遍历 Map 的所有成员
字符串新增功能
字符串的新方法
startsWith 判断以什么字符串开头
endsWith 判断以什么字符串结尾
模板字符串
模板字符串( template string )是增强版的字符串,用反引号( ` )标识。它可以当作
普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
ES6 解构赋值和扩展运算符
解构赋值
左右两边结构必须一样
右边必须有值
声明和赋值不能分开
扩展运算符
... 三点运算符
展开数组
默认参数
对象的新语法
ES 6 的 Class (类)概念
constructor 是构造方法
this 关键字代表实例对象
通过 extends 关键字实现继承
super 关键字,表示父类的构造函数,用来新建父类的 this 对象
JSON 对象的新应用
JSON.stringify() 串行化
JSON.parse() 反串行化
简写
( 属性和值 ) 名字一样可以简写
方法一样可以简写( :function 省)
Module 模块化编程
模块化优点
减少命名冲突
避免引入时的层层依赖
可以提升执行效率
export 命令:用于规定模块的对外接口
一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能
够读取模块内部的某个变量,就必须使用 export 关键字输出该变量。
import 命令:用于输入其他模块提供的功能
import 命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量
名,必须与被导入模块( profile.js )对外接口的名称相同。
总结和作业