let和const

2022-06-12  本文已影响0人  王思雨_19强化班

/*

  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" }

上一篇下一篇

猜你喜欢

热点阅读