js中的let和const

在es6之前只有全局变量和函数内的局部变量 所以说var在函数之外声明的就是全局变量 而在函数里面声明的就是局部变量 只能在函数的内部使用。

在es6之后就出现了块级作用域 在两个{}之间的就是一个块作用域 所以出现了let let在{}代码块中是有效的 在{}外面是没有效的

var 和let的一些区别:

var x=3;
{
var x=4;}
输出x=4;

上面代码中的var是全局变量 所以输出为4

let x=3
{
   let x=5;}
输出x=3

上面的let在块作用域中有效 所以输出的是3

const和let有相似的地方:

1.都是块级作用域 都是在代码块中有效

2.不能和他所在作用域中有相同的变量的名称

区别:

1.const在声明的时候必须要初始化 而let不需要

2.const经过赋值后就不能再次修改 而let赋值后是可以再次的修改的。

你可能感兴趣的:(javascript,前端,开发语言)