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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容