ES6新增
let 声明变量;
1.使用let声明的变量没有变量提升----必须先声明再调用
2.使用let声明的变量没有块级作用域
3.使用let声明的变量不能重复声明
const 声明常量:
1.声明一个只读的常量。一旦声明,常量的值就不能改变。
2.必须在定义的时候,给一个初始化的值。
3.const的作用域与let命令相同:只在声明所在的块级作用域内有效。
在代码块内,使用let/const命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称TDZ)。
--------------------------------------------------------
includes():返回布尔值,表示是否找到了参数字符串。
startsWith :返回布尔值,表示参数字符串是否在原字符串的头部。
endWith:返回布尔值,表示参数字符串是否在原字符串的尾部。
--------------------------------------------------------
padStart()用于头部补全,padEnd()用于尾部补全。
--------------------------------------------------------
rest参数:
rest参数的形式为:…变量名;
扩展运算符是三个点(…)
rest参数用于获取函数的多余参数,这样就不需要使用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
rest参数和arguments对象的区别
rest参数只包含那些没有对应形参的实参;而 arguments 对象包含了传给函数的所有实参。
arguments 对象不是一个真实的数组;而rest参数是真实的 Array 实例,也就是说你能够在它上面直接使用所有的数组方法。
arguments 对象对象还有一些附加的属性 (比如callee属性)。
另外,使用rest参数时应注意一下两点:
rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错。
函数的length属性,不包括 rest 参数。
字符串补全长度
padStart(maxLength,fillString=‘’)
padEnd(maxLength,fillString=‘’)
第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
模块化
export 与import是es6中新增模块功能最主要的两个命令。我们要知道在es6中,实现了模块功能,而且相当简单,意在取代commonjs和AMD规范。成为一种模块化的通用解决方案。
ES6的模块化的基本规则或特点:
1:每一个模块只加载一次, 每一个JS只执行一次, 如果下次再去加载同目录下同文件,直接从内存中读取。 一个模块就是一个单例,或者说就是一个对象;
2:每一个模块内声明的变量都是局部变量, 不会污染全局作用域;
3:模块内部的变量或者函数可以通过export导出;
4:一个模块可以导入别的模块