zoukankan      html  css  js  c++  java
  • ES6 --------- const

    对于es6使用的也挺频繁,但是有些东西真的使用得注意:

    const使用注意:

      1. 声明的变量不能再被声明,或者改变值类型,否则将会报错.报错的信息分别是:

    • TypeError: invalid assignment to const "x" (Firefox)
    • TypeError: Assignment to constant variable. (Chrome)
    • TypeError: Redeclaration of const 'x' (IE/Edge)

      eg: 

    const a = 2;
    a = 3;
    // 将会报上述类型错误(具体和李玉兰器有关)
    const a = 3;
    // Uncaught SyntaxError: Identifier 'c' has already been declared
    // 重新声明也会报错,提示你c已经被声明

      2. const声明的引用类型,虽然变量不可变,但是对象内部却可以被影响,这一点如果不注意,在开发中就会很尴尬~

    const a = {
      name : 'Mike'
    }
    a.name = 'Tom'
    // 此时a的属性name的值已经改变
    console.log(a)
    //{name: "Tom"}

    同理:数组也是(但是会存在浏览器兼容,比如firefox将不会修改数组的值,但是对象就会...很神奇...)

    const a = [1,2,3]
    a.shift()
    console.log(a)
    // [2,3] -- EDGE CHROME OPERA等浏览器
    // [1,2,3] -- FIREFOX

      3. const也存在块级作用域,作用域内声明的变量可以与全局变量同名

    const a = 5;
       console.log(a)
       function test(){
            const a = 3
            console.log(a)
       }
       test()
    
       {
           const a = 4;
           console.log(a)
       }

    分别输出: 5 3 4

      总结:

        const声明的变量是唯一的(同一作用域),它声明的值类型不可变,引用类型却可以改变...

  • 相关阅读:
    点击按钮在表格的某一行下,在添加一行(HTML+JS)
    13
    12 stark组件之pop,按钮,url,页面
    11 stark组件之delete按钮、filter过滤
    解决 AttributeError: 'ForeignKey' object has no attribute 're'
    360面经
    4 django篇
    0- 26个面试经典问题回答
    如何学习??
    LeetCode
  • 原文地址:https://www.cnblogs.com/gxlself/p/8689224.html
Copyright © 2011-2022 走看看