/*
let
1、没有变量提升
2、是一个块级作用域
3、不能重复声明
*/
// 1、没有变量提升
console.log(a) // 报错 Uncaught ReferenceError: Cannot access 'a' before initialization
let a = 10
// 2、是一个块级作用域
if(true){
let b = 10
}
console.log(b) // 报错 Uncaught ReferenceError: b is not defined
// 3、不能重复声明
let c = 10
let c = 20 // 报错 Uncaught SyntaxError: Identifier 'c' has already been declared
/*
const
1、没有变量提升
2、是一个块级作用域
3、不能重复声明
4、声明的是一个常量,一旦声明,无法修改
当声明的是一个对象时,不可以直接修改对象本身,但是可以修改对象内部的值
*/
// 4、声明的是一个常量,一旦声明,无法修改
// 当声明的是一个对象时,不可以直接修改对象本身,但是可以修改对象内部的值
const person = {
name: 'Tom'
}
person = {
age: 30
} // 报错 Uncaught TypeError: Assignment to constant variable.
person.name = 'Bene'
console.log(person) // { "name": "Bene" }
网友评论