let 和 const、解构赋值

let 和 const

  • 块级作用域
  • let 和 const 声明的变量,只在块级作用域有效(大括号包裹的部分就是块级作用域)
{
  let a = 10;
}
console.log(a) // Uncaught ReferenceError: a is not defined
  • let 声明的变量,不可以重复声明
let a = 10;
let a = 20; // Uncaught SyntaxError: Identifier 'a' has already been declared
  • const 声明的是常量

解构赋值

a、数组的解构赋值

// 案例一
let a, b;
[a, b] = [1, 2]; // a = 1; b = 2

// 案例二
let a, b, rest;
[a, b, ...rest] = [1, 2, 3, 4, 5, 6]; // a = 1; b = 2; rest = [3, 4, 5, 6]

// 案例三:没有找到赋值的对象,则为 undefined
let a, b, c, rest;
[a, b, c] = [1, 2]; // a = 1; b = 2; c = undefined

b、对象的解构赋值

let {a, b} = {a: 1, b: 2, c: 3}; // a = 1; b = 2

你可能感兴趣的:(let 和 const、解构赋值)