前端基础随记| 青训营笔记

64 阅读2分钟

ECMAScript6

迭代器

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

  1. ES6 创造了一种新的遍历命令for..of 循环,lterator 接口主要供 for..of 消费
  2. 原生具备iterator 接口的数据(可用 for of 遍历)
  • Array
  • Arguments
  • Set
  • Map
  • String
  • TypedArray
  • NodeList

3) 工作原理
a)创建一个指针对象,指向当前数据结构的起始位置
b)第一次调用对象的next 方法,指针自动指向数据结构的第一个成员
c)接下来不断调用next 方法,指针一直往后移动,直到指向最后一个成员
d)每调用 next 方法返回一个句含valve 和done 属性的对象

注️:需要自定义遍历数据的时候,要想到迭代器。

生成器

生成器其实就是一个特殊的函数
function * gen(){ console. log ("hello") } let iterator = gen() ; console.log(iterator);

yield是函数代码的分隔符
function * gen(){ console. log (1); yield'啦啦啦我是一'; console.1og (2); yield'啦啦啦我是0'; console. log(3); yield'啦啦啦'; console. log (4); }

Promise

promise 是 ES6 引入的异步编程的新解决方案。语法 上Promise 是一个构造函数 用来封裝异步辕花并可以获取其成功或失败的结果。

  1. Promise 构造函数:Promise (excutor) {}
  2. Promise.prototype.then 方法
  3. Promise.prototype.catch 方法

Map

ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 也实现了iterator 接口,所以可以使用「扩展运算符』和「for..of..』进行遍历。 Map的属性和方法:

  1. size返回 Map 的元素个数
  2. set增加一个新元素,返回当前 Map
  3. get返回键名对象的键值
  4. has检测 Map 中是否包含某个元素,返回 boolean 值。
  5. clear清空集合,返回 undefined。

class 类

ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class 关键字,可以定义类。基本上,ES6 的class 可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class 写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而己。 知识点:
1)class 声明类
2)constructor 定义构造函数初始化
3)extends 继承父类
4)super 调用父级构造方法
5)static 定义静态方法和属性
6)父类方法可以重写