关于ES6都有哪些新增及使用心得

关于ES6都有哪些新增,经常使用的有哪些,使用心得

  1. 新增了块级作用域(let,const)
  2. 新增了基本数据类型(symbol)
  3. 新增了变量得解构赋值
  4. 新增了模块化(import/export)
  5. 新增了Set和map数据结构
  6. 新增了生成器(Generator)和遍历器(Iterator)
  7. 函数参数允许设置默认值,引入了rest参数,新增了箭头函数
  8. 提供了定义类得语法糖class
  9. 对象和数组新增了扩展运算符
  10. 数组新增了一些API,如isArray/from/of方法
  11. 数组实例新增了entries() / keys() / values() 等方法
  12. ES6原生提供了Proxy构造函数,用来生成Proxy实例

(以下为讲解,部分摘自《ECMAScript 6 入门》阮一峰
https://es6.ruanyifeng.com/?search=%E6%89%A9%E5%B1%95%E8%BF%90%E7%AE%97%E7%AC%A6&x=14&y=4)

1.新增了块级作用域(let,const)

####  letconst以及var的区别 
- let   具有块级作用 不能重复声明 可以重复赋值
- const 具有块级作用域 不能重复声明 不能重复赋值
- var   全局作用域	可以重复声明 可以重复赋值
#### 暂时性死区:
  - 个人理解:所谓的暂时性死区就是在会计作用域内使用let声明了变量,那么这个变量就不会受外部的影响,这个我把它理解为暂时性死区。
#### 变量提升:
  - 个人理解:所谓的变量提升就是为了先事先声明变量,然后在进行赋值

2.新增了基本数据类型(symbol)

定义:Symbol实际上是ES6引入的一种原始数据类型
 作用:生成一个独一无二的值
https://blog.csdn.net/gklcsdn/article/details/109196372

3.新增了变量得解构赋值
基本用法*
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

以前,为变量赋值,只能直接指定值。
let a = 1;
let b = 2;
let c = 3;

ES6 允许写成下面这样。

let [a, b, c] = [1, 2, 3];

上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。
本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。下面是一些使用嵌套数组进行解构的例子。

let [foo, [[bar], baz]] = [1, [[2], 3]];
foo // 1
bar // 2
baz // 3

let [ , , third] = ["foo", "bar", "baz"];
third // "baz"

let [x, , y] = [1, 2, 3];
x // 1
y // 3

let [head, ...tail] = [1, 2, 3, 4];
head // 1
tail // [2, 3, 4]

let [x, y, ...z] = ['a'];
x // "a"
y // undefined
z // []
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值