var let const 的区别

var let const 的区别

var与 let 的区别

  1. 作用域的区别
    var定义的变量会成为包含它的函数的局部变量,即函数作用域;
    let声明的范围是块作用域;
    块作用域是函数作用域的子集,因此,var的作用域限制同样适用于let

  2. 变量提升和暂时性死区
    var声明的变量,在声明之前可以读取,值未undefined;
    let声明的变量,在声明之前读取,会报错;

  3. var可以重复声明;let不能冗余声明,只能声明一次

  4. var声明的变量会成为window的对象,let的不会

const 与 let 的区别

  const 和 let 行为基本一致,区别在于:const使用时必须指定变量的值,并且不能再更改,
  const声明的限制只适用于它执行的变量的引用,因此 const定义一个对象,对象内部的属性变化并不违反const的限制

风格声明和最佳实践(红宝书)
使用优先级: const > let > var

posted @ 2020-12-28 19:37  路在脚下~  阅读(65)  评论(0编辑  收藏  举报