es6常用语法(持续更新中)

参考:阮一峰 es6入门 https://es6.ruanyifeng.com/

1. let声明的变量只在它所在的代码块有效(for循环器使用等)

  1.1 不存在变量提升,故变量只能先声明再使用

  1.2 不可重复声明

  1.3 暂时性死区

  1.4 块级作用域

2. const 声明一个只读常量(不允许再改变)

  2.1 不存在变量提升(存在暂时性死区)

  2.2 将一个对象声明为常量必须非常小心

    2.2.1 const 实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。

    2.2.2 将对象保存为常量,需要使用使用Object.freeze方法将对象包括对象属性进行冻结

    

 3. es6声明对象的方法(6种):var function let const import class

4. 顶层变量:var、function声明的全局变量为顶层变量的属性,let、const、class声明的全局变量不属于顶层变量的属性

5. 数组的解构赋值

  5.1 为多个变量赋值: let [a, b, c] = [1, 2, 3];

    

  5.2 不完全解构:值多于变量,解构可以成功,否则报错

    5.2.1 如赋值等号右边不是数组(严格言之,非可遍历解构),报错

    5.2.2 对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。

   5.3 默认值:解构赋值允许指定默认值

    

  5.4 ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效 

  

   5.5 对象解构指定默认值

  

   5.6 遍历 Map 结构

   

 6. 模板字符串

  用反引号(`)标识,可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

  6.1 模板字符串中嵌入变量,需要将变量名写在${}之中

  6.2 所有模板字符串的空格和换行都会被保留,可使用trim方法进行消除

  6.3 模板字符串之中还能调用函数

  6.4 如果需要引用模板字符串本身,在需要时执行,可以写成函数

    

7. 字符串的新增方法

  7.1 repeat(): repeat方法返回一个新字符串,表示将原字符串重复n

    eg: 'x'.repeat(3) // "xxx"

  7.2 padStart(a,b)、padEnd(a,b): 字符串长度补全(头部或尾部),a指期望补全后字符串长度,b是一个补全单位,如果省略第二个参数,默认使用空格补全长度

    eg:'x'.padStart(5, 'ab') // 'ababx'

     7.2.1 用途

    

   7.3 trimStart()、trimEnd(): 消除字符串头部/尾部空格、tab 键、换行符等不可见的空白符号,返回新字符串

   7.4 replaceAll(): 

    eg: 'aabbcc'.replaceAll('b', '_')    // 'aa__cc'
8.判断参数类型
  8.1 Number.isFinite()用来检查一个数值是否为有限的(finite),即不是Infinity
  8.2 Number.isNaN()用来检查一个值是否为NaN,如果参数类型不是NaNNumber.isNaN一律返回false
  注意:它们与传统的全局方法isFinite()isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,
    再进行判断,而这两个新方法只对数值有效,Number.isFinite()对于非数值一律返回false
    Number.isNaN()只有对于NaN才返回true,非NaN一律返回false
  8.3 Number.isInteger()用来判断一个数值是否为整数,如果参数不是数值,Number.isInteger返回false
  注意: JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值,得到结果为true。
  一些误判情况:
    
  8.4 Number.EPSILON:设置“能够接受的误差范围”
    

  8.5 Math对象的扩展

    8.5.1 Math.trunc方法用于去除一个数的小数部分,返回整数部分

     

     8.5.2 Math.sign(): 用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值.

      返回五种值。参数为正数,返回+1;参数为负数,返回-1;参数为 0,返回0;参数为-0,返回-0;其他值,返回NaN

       


 
原文地址:https://www.cnblogs.com/simpleyou/p/14598464.html