let和const 命令
let命令
1、es6新增了let命令,用来声明变量。它的用法和var 类似,但是let声明的变量,只在let命令所在的代码块内有效。
{
let a = 10
var b = 1
}
console.log(a) //referenceError: a is not defined
console.log(b) //1
2、不存在变量提升(即变量一定要声明之后才可以使用,某则报错。)
// var 的情况
console.log(foo) //输出undefined
var foo =2
//let 的情况
console.log(bar) //报错ReferenceError
let bar = 2
3、不允许重复声明(不允许在相同作用域内,重复声明同一个变量)
{
//报错
let a = 10
var a = 1
}
{
//报错
let a = 10
let a = 1
}
const命令(声明的变量只能在所在的块级作用域使用)
1、const声明一个只读的常量。一旦声明,常量的值就不可以改变(下面代码标明改变常量的值会报错)
const PI = 3.1415
console.log(PI) //3.1415
PI = 3 //TypeError:Assignment to constant variable