什么是变量提升?
什么是解构赋值?如何理解一下语句?
let { a, b, c } = object;
普通函数的 bind this 操作主要是为了解决什么问题?箭头函数是否需要 bind this?
扩展运算符 ... 的作用是什么?如何理解以下语句?
arrayA.push(...arrayB);
如何理解对象的 prototype?如何实现对象的继承?
简述 Symbol 对象的含义和作用。
简述 Proxy 机制。
简述 Promise 对象的含义和用法。
如何理解 Promise.all() 和 Promise.race() 函数?
- for...of 语句的作用是什么?
- for...of 内部是利用什么机制实现的?对什么样的结构可以使用 for...of 语法?
- 如何实现一个对象,具有数组对象的一切行为,但在遍历时(例如 for...of )自动过滤为 0 的元素?
- 简要描述 Generator 函数的作用?其返回值是什么类型?
- yield 语句的作用是什么?
- yield* 语句的作用是什么?
写一个 Generator 函数对完全二叉树做中序遍历
简述 async 函数的用法,其返回值是什么类型?
如何理解 async 函数与 Generator 函数的关系?await 语句实现了什么功能?
简述修饰器(Decorator)机制的作用。如何理解以下语句?
class SomeClass {
@readonly
propA = '1';
}
- 为何 import 命令中有些变量需要在大括号中,有些则不需要?例如:
import React, { Component } from 'react';
import 命令和 require 方法的主要区别是什么?
ArrayBuffer、TypedArray、DataView 的含义和作用分别是什么?