let 与 var 的区别

let 与 var 的区别

 a.let 不能重复声明,但var可以

 b.let会产生块级作用域,且只在自己的作用域内生效,但var不受限制

 c.变量提升

console.log(i) //undefined
var i=10;
console.log(i) //10
console.log(i) //报错
let i=10;
console.log(i) //10

 d.let存在暂时性死域(变量只能先声明再使用)

当一个区域存在let声明时,这个区域就形成了一个封闭的作用域,在let声明前使用这个变量就会报错,也就是只能先声明再使用,这种语法也称为暂时性死域。

3.const

let有的特性const都有,唯一的区别是const声明的是一个常量,一旦声明就无法进行修改

console.log(i); //undefined
const i=10;
 i=3; //报错
console.log(i)

总结:

va人可以重复申明  ;无法限制修改 ;没有块级作用域

let  不能重复声明 ;变量—可以修改  ;块级作用域(函数可以限制块级作用域)

const 不能重复声明 ;常量—不可以修改 ;块级作用域

原文地址:https://www.cnblogs.com/peilin-liang/p/11970329.html