ES6 新增

ES6 新增

刘听风 231 2021-07-24

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:一个模块可以导入别的模块