var let const 的区别
var let const 的区别
var与 let 的区别
-
作用域的区别
var定义的变量会成为包含它的函数的局部变量,即函数作用域;
let声明的范围是块作用域;
块作用域是函数作用域的子集,因此,var的作用域限制同样适用于let -
变量提升和暂时性死区
var声明的变量,在声明之前可以读取,值未undefined;
let声明的变量,在声明之前读取,会报错; -
var可以重复声明;let不能冗余声明,只能声明一次
-
var声明的变量会成为window的对象,let的不会
const 与 let 的区别
const 和 let 行为基本一致,区别在于:const使用时必须指定变量的值,并且不能再更改,
const声明的限制只适用于它执行的变量的引用,因此 const定义一个对象,对象内部的属性变化并不违反const的限制
风格声明和最佳实践(红宝书)
使用优先级: const > let > var