欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ES6新特性 var let const 的区别

程序员文章站 2022-07-16 17:46:24
...

ES6新特性

let const var的区别

1.var声明的变量会挂载在window上,let和const声明的变量不会挂载在window上。

var a = 10;
console.log(window.a)   // 10
let b= 10;
console.log(window.b)   // undefined

2.var声明的变量存在变量提升,let和const声明的变量不存在变量提升。
变量提升即变量可以在声明之前使用,值为undefined。
let命令改变了语法行为,它声明的变量一定要在声明之后使用,否则报错。

// var 
console.log(a);   // undefined
var a = 10;

// let
console.log(b); // 报错 Cannot access 'b' before initialization at
let b = 10;

3.let和const声明的变量形成块级作用域(暂时性死区,直到该变量的声明被处理)
4.let不允许在相同作用域内,重复声明同一个变量;

function(){
	let a = 10;
	var a = 1;
}
//  报错    Identifier 'a' has already been declared
function () {
	let a = 10;
	let a = 20;
}
// 报错  Identifier 'a' has already been declared
  1. const必须有初始值
    const声明一个只读的变量,一旦声明,常量的值就不能改变。如果声明的是复合型数据,可以修改其属性。

相关标签: es6 javascript