作用域,let和const
let
let与var的区别在于,let没有变量提升,必须先声明再使用
console.log(a);
var a=1;
console.log(a);
let a=1;
其次,一旦let被声明,则变量会自动被绑定在当前作用域。在同一作用域中,var中相同变量可以声明两次,但let声明的变量,是不可以被重复声明的。
const
const一旦声明变量,如下图,则a的值即为1,限制了a的赋值的改变,而并不完全是不能改变值。
<script>
const a=1;
</script>
let拥有的属性,const同样也拥有,const声明的变量同样需要先声明再使用,同样也是只能在块作用域里面进行访问,const声明的变量也是不允许被重复声明。
那如果const,let都声明相同变量呢?
<script>
let a=1;
const a=1;
</script>
代码同样还是会报错,只要有let或const存在,就不允许重复声明。