• ES6知识点


    • var,const,let的区别

    1. var: 没用块级作用域,变量声明提升(可以先使用再声明变量),未用var声明的变量会被添加一个全局作用域,而用var声明的变量作用域是当前上下文。

    2. const:const用来声明常量,一旦声明,其值就不能改变,所以用const声明变量时必须立即初始化。

       const声明的常量具有块级作用域,不允许重复声明常量,不存在常量提升。

      const PI = 3.14;
      PI    // 3.14
      
      PI = 3;
      // TypeError: "PI" is read-only
      // const声明常量时立即赋值,后面不能改变它的值
    3. let: let声明的变量也具有块级作用域,不允许重复声明变量,不存在变量提升。
    4. {
          let a = 10;    // a只在let命令所在的代码块内有效
          var b = 1;        
      }
      a    // ReferenceError: a is not defined
      b    // 1
    • 数值的扩展

    1. 二进制和八进制分别用前缀0b(或0B)和0o(或0O)表示

    2.  ES6在Number对象上提供了Number.isFinite()和Number.isNaN()方法,用来检查Infinite和NaN这两个特殊值。

      Number.isFinite()和Number.isNaN()这两个新方法和传统的全局方法isFinite()和isNaN()的区别:
      传统方法先调用Number()将非数值转化为数值再进行判断,而新方法只对数值有效,对非数值一律返回false。

    3. Number.isInteger()用来判断一个值是否为整数。
      注意: 在JavaScript内部,整数和浮点数是同样的储存方法,3.0和3视为同一个值
    4. 安全整数和Number.isSafeInteger()
      安全整数范围:-2^{53}——2^{53}(不含两个端点)
    5. Math对象的扩展
      Math.trunc()用于去除一个数的小数部分,返回整数部分
    6. Math.trunc(5.8)    // 5
      Math.trunc(-4.9)    // -4

      Math.sign()用于判断一个数是正数、复数、零

      正数    返回+1
      复数    返回-1
      0        返回0
      -0       返回-0
      其他值  返回NaN

        Math.cbrt()计算一个数的立方根
        Math.clz32()返回一个数的32位无符号整数形式有多少个前导0
        Math.imul()返回两个数以32位带符号整数相乘的结果,结果也为32位带符号整数
        Math.fround()返回一个数的单精度浮点数形式
        Math.hypot()返回所有参数的平方和的平方根

    • 箭头函数

      var f = v => v;
      // 等同于 
      var f = function(v) {
          return v;  
      }
      var sum = (num1, num2) => num1 + num2;
      // 等同于 
      var sum = function(num1, num2) {
          return num1+num2;  
      }




  • 相关阅读:
    Java 在方法和作用域内的内部类
    java 内部类和向上转型
    java 内部类使用 .this 和 .new
    java innerclasses(内部类)
    Java过滤器与SpringMVC拦截器之间的关系与区别
    Maven异常:Could not find artifact
    soapUI测试webservice(参数为xml格式的处理方式)
    maven仓库加载本地包依赖
    spring data jpa的学习总结
    Java 中常用缓存Cache机制的实现
  • 原文地址:https://www.cnblogs.com/dreamhj/p/6440409.html
Copyright © 2020-2023  润新知