Es6中let与const的区别:(神奇的块级做用域)

     所谓的块级做用域:造成一个暂时性的死区;{    }spa

1、共同点:code

a:都是用来声明变量;blog

b:都能造成一个块级做用域;ip

c:都只能在声明变量的块级做用域里面有效;作用域

2、不一样点:console

  1.let:class

  a:在同一做用域里面不能使用let声明多个相同变量;变量

  b:变量不会泄露在全局;di

  c:let声明的变量不会进行变量的提高ant

  2.const:

  a:也不会进行变量的提高;

  b:const经常使用来声明一个常量;用const声明的变量的值时不能改变的!!!

若是用const声明变量的话-----Uncaught TypeError: Assignment to constant variable.(报错)

<body>
    <script>
      for(const i=0;i<10;i++){   //Uncaught TypeError: Assignment to constant variable.
          console.log(i);
      }

      for(let i=0;i<10;i++){   //正常输出!
          console.log(i);
      }
    </script>
</body>
相关文章
相关标签/搜索