2021.4.7早会问题(const,let和var的区别)

2021-04-07 10:00:54
## const,let和var的区别 #### 1.var声明变量存在变量提升,let和const不存在变量提升 ```jsx console.log(a); // undefined ===> a已声明还没赋值,默认得到undefined值 var a = 100; console.log(b); // 报错:b is not defined ===> 找不到b这个变量 let b = 10; console.log(c); // 报错:c is not defined ===> 找不到c这个变量 const c = 10; ``` #### 2.变量作用域 在JavaScript中,在方法体外外用var定义的变量其它方法可以共享,在方法中用var定义的变量只有该方法内生效。 而let、const都是块级局部变量,只在当前代码块起作用 ```jsx { let a = 1 } console.log(a) // undefined ``` #### 3.同一作用域下let和const不能声明同名变量,而var可以 #### const特性和let完全一样,不同的是声明变量的时候必须赋值,且只能进行一次,即声明后不能更改,如果声明的是复合类型的数据,可以修改他的属性