es6--let和const

简介

let 和 const 是es6新增的命令,这两个命令和 var 一样,都是用来声明变量的。
如果想深入学习 es6 推荐去看 阮一峰的 ECMAScript 6 入门阮一峰-ECMAScript 6 入门

let

let a = 10
console.log(a) // 10
--------------------
console.log(a) // 报错 
// let 没有变量提升
let a = 1
-------------------
if(true) {
	let a = 1
}
console.log(a) // 报错 a is not defined
// let 有块级作用域
------------------
let a = 0
let a = 10
// console.log(a) // 报错
// let 不允许重复声明
---------------
var a = 10
if(true) {
	console.log(a) // 报错
	// let 有暂时性死区
	let a = 10
}

const

const a = 10;
 a = 1
console.log(a) // 报错
// const 是用来定义常量的 定义之后不能重新赋值
// 但是 如果 const 定义的是一个对象,那么可以修改对象下的属性
const a = {a: 10}
a.b = 2
a.a = 1
console.log(a) // {a: 1, b: 2}
---------------
const a = 10
console.log(a) // 10
--------------------
console.log(a) // 报错 
// const 没有变量提升
const a = 1
-------------------
if(true) {
	const a = 1
}
console.log(a) // 报错 a is not defined
// const 有块级作用域
-----------------
const a = 0
const a = 10
// console.log(a) // 报错
// const 不允许重复声明
------------------
var a = 10
if(true) {
	console.log(a) // 报错
	// const 有暂时性死区
	const a = 10
}
------------
const a
console.log(a) // 报错
// const 声明时,必须赋值

总结

  1. let 与 const 没有变量提升
  2. let 与 const 有块级作用域
  3. let 与 const 不能重复声明
  4. let 与 const 有暂时性死区
  5. const 声明时,必须赋值
  6. const 声明之后,不能再重新赋值,但是如果声明的是对象或数组,那么可以修改对象的属性,也可以通过数组下标去修改数组下的某一项
上一篇:ES6笔记(一):箭头函数


下一篇:学习笔记 JavaScript ES6 数组的各种遍历