美文网首页
let var const的区别

let var const的区别

作者: Zhou_qn | 来源:发表于2020-03-04 23:08 被阅读0次
    1.var

    var 定义变量,没有块的概念,可以跨域访问,不能跨函数访问,不初始等于undefined,不会报错

    2.let

    let定义变量,只能在块作用域里访问,也不能跨函数访问,对函数外部无影响,不初始等于undefined

    3.const

    const定义常量,只能在块作用域里访问,也不能跨函数,使用时必须初始化,要附上值,而且不能修改
    但const定义一个对象,对象中的值可以改变

    const test = {
        a:1,
        b:2,
    };
    test.a = 5;
    console.log(test);
    

    运行结果:


    运行结果
    • const不能修改,会报错,如下图
    const不能修改,会报错

    • const定义的常量必须先赋值,否则回报错,如下图

      const得先赋值

    • var没有块的概念,可以跨域访问

    • let 和 const 有块的概念,不可以跨域访问,跨域访问会报错

      image
      输出结果:(在块外访问就会报错)
      image
      image
      image

    • var let const 都不能跨函数访问(作用域不同不能访问),作用域相同才可以访问

      image

    • let完全可以取代var,因为两者语义相同,而且let没有副作用。

    • let和const的本质区别,其实是编译器内部的处理不同。一个声明变量,一个声明常量.

    • const声明常量还有两个好处,一是阅读代码的人立刻会意识到不应该修改这个值,二是防止了无意间修改变量值所导致的错误。

    相关文章

      网友评论

          本文标题:let var const的区别

          本文链接:https://www.haomeiwen.com/subject/gjxglhtx.html