ES6 let声明变量总结

246 阅读1分钟

前端小白简单总结,还望各位大佬多多指教~

     let声明变量特点

     1、用来声明块级作用域
     let声明的变量只在其块级作用域内有效,而var通常在函数作用域或全局作用域内有效

块级作用域:指用花括号{ }包裹起来形成的语句块,如if、for、while循环语句等。

	if(true){
		let a = 111;
		console.log(a);	// 111
	}
	console.log(a);	// a is not defined
     对比var
	if(true){
		var a = 111;
		console.log(a);	// 111
	}
	console.log(a);	// 111
     2、没有变量提升
     let声明的变量必须在声明后才能使用
	// let
	console.log(a);	// Cannot access 'a' before initialization
	let a = 111;
	console.log(a);	// 111
     对比var
	// var
	console.log(a);	// undefined
	var a = 111;	// 111
	console.log(a);	// 111
	// 上面的代码相当于
	var a;
	console.log(a);
	a = 111;
     3、不允许重复声明
     let声明的变量不允许重复声明
	let a = 111;
	let a = 222; // let不可重复声明 Identifier 'a' has already been declared 
     对比var
	var a = 111;
	var a = 222;
	console.log(a);	// 222

如果大家想一起交流学习,共同进步,欢迎扫码进“是日前端交流群”,进群可以改下备注,地区_昵称,群里仅限技术交流、面试交流等,交流群的特色我还在考虑中,再次感谢大家的支持~

在这里插入图片描述