一,ECMAScript 6简介
ECMA6是2015年6月出版的关于ECMAScript的新版本,ES6是继ES5之后的一次主要改进,也称之为ECMA2015。
ECMAScript 6 特点
ES6增添了许多必要的特性,例如模块和类,块级作用域,常量与变量。
如果在浏览器中使用es6大部分语法无法使用,一部分是因为未实现,一部分需要特定的环境。
在chrome下使用es6为保证可以正常使用大部分语法,需要使用严格模式,即在js开始部分加上'use strict'
在firefox下使用es6为保证可以正常使用大部分语法,需要知道测试版本,即在script标签的type属性中加上“application/javascript;version=1.7”属性值
二,let 声明变量特点
// 1,let 在同一作用域下,同一变量仅支持声明一次。
// 2,let 在未声明前,不能进行访问,即无var 声明变量的预解析过程。
// 3,形成块级作用域 {} 之间的作用域 代码块
应用例子,循环输出0·9数字:
{}中是一个代码块,形成独立作用域。
// let 声明变量的形成的作用域块称 暂存死区
三,coust 声明常量
1.const 声明常量,无域解析过程。
2,const 声明常量时,声明同时要赋值,否则报错
2.const 声明的常量,存储数据类型为简单数据类型,不能修改,但复杂数据类型或者说按按址传递的可以修改,即数组和对像可以被修改。
四,解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。
对象的解构赋值,变量名和属性名一一相对赋值。
数组的解构赋值,按照顺序一一对应。
数组对像混合式解构赋值
注:数组对像混合式解构时,不同数据元素中对像属性名称相同会发生赋值覆盖。
五,字符串相关
JavaScript内部,字符以UTF-16的格式储存,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode码点大于0xFFFF的字符),JavaScript会认为它们是两个字符。
str.codePointAt(index)
获取str中index位置上的字符的编码,可以获取四个字节的字符
String.fromCodePoint(unicode)
根据unicode编码转换成对应的字符,可以操作码点大于0xFFFF的字符
JavaScript允许采用“\uxxxx”形式表示一个字符,其中“xxxx”表示字符的码点。
"\u0062" unicode表示法 \u表示unicode 后边的数字是unicode码点。
但是,这种表示法只限于\u0000——\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表达。
ES6对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符。
/*
str.repeat(num)
把str复制num份,并范围。
*/
var str = 'zgedu';
console.log(str.repeat(2));// zgeduzgedu
str.includes()
参数: 1、要查找的字符串 2、起始位置 返回布尔值,表示是否找到了参数字符串
str.startsWith()
参数:1、要查找的字符串 2、起始位置 返回布尔值,表示参数字符串是否在源字符串的头部。
str.endsWith()
参数: 1、要查找的字符串2、起始位置(针对的是n个字符)返回布尔值,表示参数字符串是否在源字符串的尾部。
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。