写点什么

ES6 新特性(一)

作者:阡陌r
  • 2023-10-16
    江苏
  • 本文字数:592 字

    阅读完需:约 2 分钟

ES6新特性(一)

1.变量声明

1-1.let

块级作用域

let 声明的变量无法在块外访问

{	let name = 'Alex';}console.log(name); // undefined
复制代码


不存在的变量提升 & 暂时性死区

let 声明的变量不存在变量提升,声明前的区域叫暂时性死区

console.log(flower); // Uncaught ReferenceError: flower is not definedlet flower = '花';
复制代码


不可重复声明

let name = 'Alex';let name = 'Pola'; // Uncaught SyntaxError: Identifier 'name' has already been declared
复制代码


全局变量的属性

var 声明的变量会自动绑定到 window 或 global 上,而 let、const、class 不会

var a = 1;window.a; // 1
let b = 1;window.b; // undefined
复制代码

1-2.const

不可修改-基本类型值不可修改,引用类型引用不可修改(可以修改其元素|属性的值)

变量名称大写(潜规则)

块级作用域

不存在的变量提升 & 暂时性死区

不可重复声明

全局变量的属性


1-3.总结(var let const 对比)

能用 const 就用 const,不能用 const 就用 let


2.解构赋值

解构赋值的目的就是简化写法,它的写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。

2-1.数组的解构赋值

const arr = ['悟空', '悟能', '悟净'];let [a, b, c] = arr;console.log(a); // 悟空
复制代码


2-2.对象的解构赋值

let { bar, foo } = { foo: 'aaa', bar: 'bbb' };console.log(foo); // aaaconsole.log(bar); // bbb
let { baz } = { foo: 'aaa', bar: 'bbb' };console.log(baz); // undefined
复制代码


发布于: 刚刚阅读数: 6
用户头像

阡陌r

关注

还未添加个人签名 2018-03-26 加入

还未添加个人简介

评论

发布
暂无评论
ES6新特性(一)_JavaScript_阡陌r_InfoQ写作社区