1、.101ECMAScript 6 基础语法.2let 命令命令01 ES6 新增新增 let 命令,用来声明变量。用法类似于命令,用来声明变量。用法类似于 var let 声明的变量,只在声明的变量,只在 let 命令所在的代码块内有效命令所在的代码块内有效 let 声明的变量,只在声明的变量,只在 let 命令所在的代码块内有效命令所在的代码块内有效计数器 i 只在 for 循环体内有效,在循环体外引用就会报错.3let 命令命令01 let 命令不存在变量提升命令不存在变量提升 let 命令不允许在相同作用域内,重复声明同一个变量命令不允许在相同作用域内,重复声明同一个变量.4const
2、命令命令02 const 命令声明一个只读的常量。一旦声明,常量的值就不能改变命令声明一个只读的常量。一旦声明,常量的值就不能改变 const 命令声明的常量不得改变值。即一旦声明,就必须立即初始化。命令声明的常量不得改变值。即一旦声明,就必须立即初始化。 const 命令声明的常量,只在声明所在的块级作用域内有效命令声明的常量,只在声明所在的块级作用域内有效 const 命令声明的常量不提升,只能在声明的位置后使用命令声明的常量不提升,只能在声明的位置后使用 const 命令声明的常量,与命令声明的常量,与 let 一样不可重复声明一样不可重复声明.5const 命令本质命令本质02 con
3、st 实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,针,const只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制只能保证这
4、个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。了。因此,将一个对象声明为常量必须非常小心。上面代码中,常量foo储存的是一个地址,这个地址指向一个对象。不可变的只是这个地址,即不能把foo指向另一个地址,但对象本身是可变的,所以依然可以为其添加新属性。.6模板字符串模板字符串03 传统的传统的 JavaScript 语言,输出模板:语言,输出模板: ES6 模板字符串模板字符串 模板字符串(模板字符串(template string)是增强版的字符串,用反引号()是增强版的字符串,用反引号()标识。它可以当作普通字符)标识。它可以当
5、作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。.7Map 数据结构数据结构04 Map 数据结构类似于对象,是键值对的集合,传统的键只能用字符串,数据结构类似于对象,是键值对的集合,传统的键只能用字符串,Map 的键不限于字符串,的键不限于字符串,各种类型的值(包括对象)都可以当作键。各种类型的值(包括对象)都可以当作键。 属性和操作方法属性和操作方法 size 属性属性 size 属性返回 Map 结构的成员总数 set(key,value) set 方法设置set方法设置键名key对应的键值为value,然后返
6、回整个 Map 结构。如果key已经有 值,则键值会被更新,否则就新生成该键。.8Map 数据结构数据结构04 属性和操作方法属性和操作方法 get(key) get方法读取key对应的键值,如果找不到key,返回undefined。 has(key) has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。.9Map 数据结构数据结构04 属性和操作方法属性和操作方法 delete(key) delete方法删除某个键,返回true。如果删除失败,返回false。 clear(key) clear方法清除所有成员,没有返回值。.10Map 数据结构数据结构04 Map 遍历遍历 k
7、eys() 返回键名的遍历器 values() 返回键值的遍历器.11Map 数据结构数据结构04 Map 遍历遍历 entries() 返回所有成员的遍历器 forEach() 遍历Map的所有成员.12箭头函数箭头函数 Arrow Function05 不需要参数或需要多个参数,就用圆括号代表参数部分不需要参数或需要多个参数,就用圆括号代表参数部分 ES6 允许使用允许使用“箭头箭头”(=)定义函数)定义函数 代码块部分多于一条语句,就用大括号括起来,并且用代码块部分多于一条语句,就用大括号括起来,并且用return返回返回.13箭头函数箭头函数 Arrow Function05 箭头函数
8、返回对象时,必须在对象外面加上括号箭头函数返回对象时,必须在对象外面加上括号 箭头函数使得表达更加简洁箭头函数使得表达更加简洁 箭头函数能够简化回调函数箭头函数能够简化回调函数.14Class 的基本语法的基本语法06 传统的生成实例对象的方法传统的生成实例对象的方法构造函数构造函数 ES 6 的的 Class(类)概念(类)概念 constructor 是构造方法 this关键字代表实例对象.15Class 的基本语法的基本语法06 extends继承继承super关键字,表示父类的构造函数,用来新建父类的关键字,表示父类的构造函数,用来新建父类的this对象对象.16Module 模块模块
9、07 export命令:命令:用于规定模块的对外接口用于规定模块的对外接口 一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用读取模块内部的某个变量,就必须使用export关键字输出该变量。关键字输出该变量。.17Module 模块模块07 import命令:命令:用于输入其他模块提供的功能用于输入其他模块提供的功能import命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块(须与被导入模块(profile.js)对外接口的名称相同。)对外接口的名称相同。感谢亲观看此幻灯片,此课件部分内容来源于网络,感谢亲观看此幻灯片,此课件部分内容来源于网络,如有侵权请及时联系我们删除,谢谢配合!如有侵权请及时联系我们删除,谢谢配合!