【ES6】灵魂拷问

  • 什么是变量提升?

  • 什么是解构赋值?如何理解一下语句?

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 的含义和作用分别是什么?

你可能感兴趣的:(【ES6】灵魂拷问)