zoukankan      html  css  js  c++  java
  • 259 const, let、const、var 的区别

    应用场景:声明对象类型使用 const,非对象类型声明选择 let.
    注意: 对象属性修改和数组元素变化不会出发 const 错误 【地址没变。】
    

    声明常量,常量就是值(内存地址)不能变化的量

    具有块级作用域

     if (true) { 
         const a = 10;
     }
    console.log(a) // a is not defined
    

    声明常量时必须赋值

    【let可以不用这样。】

    const PI; // Missing initializer in const declaration
    

    常量赋值后,值不能修改

    【引用类内的值可以修改,因为没有修改引用。】

    const PI = 3.14;
    PI = 100; // Assignment to constant variable.
    
    const ary = [100, 200];
    ary[0] = 'a';
    ary[1] = 'b';
    console.log(ary); // ['a', 'b']; 
    ary = ['a', 'b']; // Assignment to constant variable.
    

    小结

    • const声明的变量是一个常量
    • 既然是常量不能重新进行赋值,如果是基本数据类型,不能更改值,如果是复杂数据类型,不能更改地址值
    • 声明 const时候必须要给定值

    let、const、var 的区别

    • 使用 var 声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象
    • 使用 let 声明的变量,其作用域为该语句所在的代码块内,不存在变量提升
    • 使用 const 声明的是常量,在后面出现的代码中不能再修改该常量的值

  • 相关阅读:
    csuOJ啊 1553
    Codeforces 111B【看看自己和别人在代码能力上的差距!】
    hdu1849
    hdu 1847
    校队训练赛,同时也是HDU4497(数论:素数分解+组合数学)
    POJ 2356 (抽屉原理)
    线段树总结一【转】
    训练赛(1---5)D
    训练赛(1---5)A
    HDU1556 【树状数组】(改段求点)
  • 原文地址:https://www.cnblogs.com/jianjie/p/12236368.html
Copyright © 2011-2022 走看看