ES6必须了解的基础知识点

ES6相较于过去的版本进行了重大的改革,可以说是ESMAScript中的里程碑,所以对于ES6基础特性的了学习不仅能狗让我们更好的进行编程规范,也能应付一些工作上的笔试和面试。

一、let

  1. 变量不能重复声明
  2. 块级作用域,全局,函数,eval
  3. 不存在变量提升

二、箭头函数的特性

  1. this是静态的,this始终指向函数声明时所在作用域下this的值
  2. 不能作为构造实例化对象
  3. 不能使用 arguments 变量
  4. 箭头函数适合与this无关的问题:定时器,数组的方法回调;不适合与this有关的问题:事件回调,对象的方法

三、函数参数默认值的设置

  1. 形参初始值 具有默认值的参数,一般位置靠后(潜规则)
  2. 默认值与解构赋值结合使用

四、rest参数

rest 参数用于获取函数的实参,用来代替 arguments
提高了对参数使用的灵活程度

function date(...args){
	console.log(args);//filter some every map
}
date('aaa','bbb','ccc');//得到一个数组

rest参数必须要放到参数最后(使用限制)

function fn(a,b,...args)

五、扩展运算符

… 扩展运算符能将数组转换为逗号分隔的参数序列

  1. 数组的合并 (相当于concat()的功能)
  2. 数组的克隆
  3. 将伪数组转为真正的数组

六、Symbol

ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。它是JavaScript 语言的第七种数据类型,是一种类似于字符串的数据类型。
Symbol 特点

  1. Symbol 的值是唯一的,用来解决命名冲突的问题
  2. Symbol 值不能与其他数据进行运算
  3. Symbol 定义的对象属性不能使用 for…in 循 环遍 历 ,但是可以使用Reflect.ownKeys 来获取对象的所有键名
//创建 Symbol 
//通过一个函数调用来创建
let s1 = Symbol();
console.log(s1, typeof s1);  //=> symbol() "symbol"
//添加标识的 Symbol
let s2 = Symbol('aaa');
let s2_2 = Symbol('aaa');
console.log(s2 === s2_2); // =>false

//Symbol.for 创建
let s3 = Symbol.for('aaa');
let s3_2 = Symbol.for('aaa'); // =>true

注: 遇到唯一性的场景时要想到 Symbol
附:七种数据类型: USONB you are so niubility

七、迭代器

遍历器(Iterator)就是一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口(指的是对象里的一种属性),就可以完成遍历操作。

  1. ES6 创造了一种新的遍历命令 for…of 循环,Iterator 接口主要供 for…of 消费
  2. 原生具备 iterator 接口的数据(可用 for of 遍历)
    a) Array
    b) Arguments
    c) Set
    d) Map
    e) String
    f) TypedArray
    g) NodeList
  3. 工作原理
    a) 创建一个指针对象,指向当前数据结构的起始位置
    b) 第一次调用对象的 next 方法,指针自动指向数据结构的第一个成员
    c) 接下来不断调用 next 方法,指针一直往后移动,直到指向最后一个成员
    d) 每调用 next 方法返回一个包含 value 和 done 属性的对象
    注: 需要自定义遍历数据的时候,要想到迭代器
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值