美文网首页
var let const区别

var let const区别

作者: HS_d119 | 来源:发表于2022-05-03 20:53 被阅读0次
    • var存在变量提升,let、const不存在变量提升

      console.log(a); // undefined
      var a = 1;
      console.log(b); // Cannot access 'b' before initialization
      let b = 1;
      console.log(c); // Cannot access 'c' before initialization
      const c = 1;
      
    • let、const声明形成块作用域

      if (1) {
        var a = 1;
        let b = 2;
        const c = 3;
      }
      console.log(a); // 1
      console.log(b)  // 报错:b is not defined  ===> 找不到b这个变量
      console.log(c)  // 报错:c is not defined  ===> 找不到c这个变量
      

      var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问

      let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。

      let定义的常量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。

    • 同一作用域下var可以声明同名变量,let、const不行

      var a = 1;
      console.log(a); // 1
      var a = 2;
      console.log(a); // 2
      
      let a = 1;
      console.log(a);
      let a = 2;
      console.log(a); // 控制台显示Identifier 'a' has already been declared
      
    • const说明

      a. 一旦声明必须赋值,不能使用null占位

      b. 声明后不能再修改

      c. 如果声明的是复合类型数据,可以修改其属性

    相关文章

      网友评论

          本文标题:var let const区别

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