Skip to content

Files

Latest commit

e61405a · Nov 17, 2016

History

History

ecmascript6-primer

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Nov 17, 2016
Nov 9, 2016
Nov 3, 2016
Nov 9, 2016
Nov 3, 2016
Nov 2, 2016
Nov 7, 2016
Nov 3, 2016
Nov 7, 2016
Nov 3, 2016
Nov 7, 2016
Nov 9, 2016
Nov 7, 2016
Nov 9, 2016
Nov 2, 2016
Nov 3, 2016
Nov 5, 2016
Nov 9, 2016
Nov 9, 2016
Nov 9, 2016
Nov 5, 2016
Nov 9, 2016

ECMAScript6入门

豆瓣链接

  • let和const命令
    • let命令
      • 基本用法
      • 不存在变量提升
      • 暂时性死区
      • 不允许重复声明
    • 块级作用域
      • 为什么需要块级作用域?
      • ES6的块级作用域
    • const命令
    • 全局对象的属性
  • 变量的解构赋值
    • 数组的解构赋值
      • 基本用法
      • 默认值
    • 对象的解构赋值
    • 字符串的解构赋值
    • 数值和布尔值的解构赋值
    • 函数参数的解构赋值
    • 圆括号问题
      • 不能使用圆括号的情况
      • 可以使用圆括号的情况
    • 用途
  • 字符串的扩展
    • 字符的Unicode表示法
    • codePointAt()
    • String.fromCodePoint()
    • 字符串的遍历器接口
    • at()
    • normalize()
    • includes(), startsWith(), endsWith()
    • repeat()
    • padStart(),padEnd()
    • 模板字符串
    • 实例:模板编译
    • 标签模板
    • String.raw()
  • 正则的扩展
    • RegExp构造函数
    • 字符串的正则方法
    • u修饰符
    • y修饰符
    • sticky属性
    • flags属性
    • RegExp.escape()
    • 后行断言
  • 数组的扩展
    • Array.from()
    • Array.of()
    • 数组实例的copyWithin()
    • 数组实例的find()和findIndex()
    • 数组实例的fill()
    • 数组实例的entries(),keys()和values()
    • 数组实例的includes()
    • 数组的空位
  • 函数的扩展
    • 函数参数的默认值
      • 基本用法
      • 与解构赋值默认值结合使用
      • 参数默认值的位置
      • 函数的length属性
      • 作用域
      • 应用
      • rest参数
    • 扩展运算符
      • 含义
      • 替代数组的apply方法
      • 扩展运算符的应用
      • name属性
    • 箭头函数
      • 基本用法
      • 使用注意点
      • 嵌套的箭头函数
      • 函数绑定
    • 尾调用优化
      • 什么是尾调用?
      • 尾调用优化
      • 尾递归
      • 递归函数的改写
      • 严格模式
      • 尾递归优化的实现
    • 函数参数的尾逗号
  • 对象的扩展
    • 属性的简洁表示法
    • 属性名表达式
    • 方法的name属性
    • Object.is()
    • Object.assign()
      • 基本用法
      • 注意点
      • 常见用途
    • 属性的可枚举性
    • 属性的遍历
    • Object.values(),Object.entries()
      • Object.keys()
      • Object.values()
      • Object.entries
    • 对象的扩展运算符
    • Object.getOwnPropertyDescriptors()
  • Symbol
    • 概述
    • 作为属性名的Symbol
    • 实例:消除魔术字符串
    • 属性名的遍历
    • Symbol.for(),Symbol.keyFor()
    • 内置的Symbol值
      • Symbol.hasInstance
      • Symbol.isConcatSpreadable
      • Symbol.species
      • Symbol.match
      • Symbol.replace
      • Symbol.search
      • Symbol.split
      • Symbol.iterator
      • Symbol.toPrimitive
      • Symbol.toStringTag
      • Symbol.unscopables
  • Proxy和Reflect
    • Proxy概述
    • Proxy实例的方法
      • get()
      • apply()
      • has()
      • construct()
      • deleteProperty()
      • defineProperty()
      • enumerate()
      • getOwnPropertyDescriptor()
      • getPrototypeOf()
      • isExtensible()
      • ownKeys()
      • preventExtensions()
      • setPrototypeOf()
      • Proxy.revocable()
    • Reflect概述
    • Reflect对象的方法
  • 二进制数组
    • ArrayBuffer对象
      • 概述
      • ArrayBuffer.prototype.byteLength
      • ArrayBuffer.prototype.slice()
      • ArrayBuffer.isView()
    • TypedArray视图
      • 概述
      • 构造函数
      • 数组方法
      • 字节序
      • BYTES_PER_ELEMENT属性
      • ArrayBuffer与字符串的互相转换
      • 溢出
      • TypedArray.prototype.buffer
      • TypedArray.prototype.byteLength,TypedArray.prototype.byteOffset
      • TypedArray.prototype.length
      • TypedArray.prototype.set()
      • TypedArray.prototype.subarray()
      • TypedArray.prototype.slice()
      • TypedArray.of()
      • TypedArray.from()
    • 复合视图
    • DataView视图
    • 二进制数组的应用
      • AJAX
      • Canvas
      • WebSocket
      • Fetch API
      • File API
  • Set和Map数据结构
    • Set
      • 基本用法
      • Set实例的属性和方法
      • 遍历操作
      • WeakSet
    • Map
      • Map结构的目的和基本用法
      • 实例的属性和操作方法
      • 遍历方法
      • 与其他数据结构的互相转换
      • WeakMap
  • Iterator和for...of循环
    • Iterator(遍历器)的概念
    • 数据结构的默认Iterator接口
    • 调用Iterator接口的场合
    • 字符串的Iterator接口
    • Iterator接口与Generator函数
    • 遍历器对象的return(),throw()
    • for...of循环
    • 数组
    • Set和Map结构
    • 计算生成的数据结构
    • 类似数组的对象
    • 对象
    • 与其他遍历语法的比较
  • Generator函数
    • 简介
      • 基本概念
      • yield语句
      • 与Iterator接口的关系
      • next方法的参数
      • for...of循环
      • Generator.prototype.throw()
      • Generator.prototype.return()
      • yield*语句
      • 作为对象属性的Generator函数
    • 含义
      • Generator与状态机
      • Generator与协程
      • 应用
  • Promise对象
    • Promise的含义
    • 基本用法
    • Promise.prototype.then()
    • Promise.prototype.catch()
    • Promise.all()
    • Promise.race()
    • Promise.resolve()
    • Promise.reject()
    • 两个有用的附加方法
      • done()
      • finally()
    • 应用
      • 加载图片
      • Generator函数与Promise的结合
    • async函数
  • 异步操作和Async函数
    • 回调函数
    • Promise
    • Generator函数
      • 协程
      • Generator函数的概念
      • Generator函数的数据交换和错误处理
      • 异步任务的封装
    • Thunk函数
      • 参数的求值策略
      • Thunk函数的含义
      • JavaScript语言的Thunk函数
      • Thunkify模块
      • Generator 函数的流程管理
      • Thunk函数的自动流程管理
    • co模块
      • 基本用法
      • co模块的原理
      • 基于Promise对象的自动执行
      • co模块的源码
      • 处理并发的异步操作
    • async函数
      • 含义
      • async函数的实现
      • async函数的用法
      • 注意点
      • 与Promise、Generator的比较
  • Class
    • Class基本语法
      • 概述
      • constructor方法
      • 类的实例对象
      • name属性
      • Class表达式
      • 不存在变量提升
      • 严格模式
    • Class的继承
      • 基本用法
      • 类的prototype属性和__proto__属性
      • Extends 的继承目标
      • Object.getPrototypeOf()
      • super关键字
      • 实例的__proto__属性
      • 原生构造函数的继承
      • Class的取值函数(getter)和存值函数(setter)
      • Class的Generator方法
      • Class的静态方法
      • Class的静态属性和实例属性
      • new.target属性
      • Mixin模式的实现
  • Decorator
    • 类的修饰
    • 方法的修饰
    • 为什么修饰器不能用于函数?
    • core-decorators.js
    • 使用修饰器实现自动发布事件
    • Mixin
    • Trait
    • Babel转码器的支持
  • Module
    • 严格模式
    • export命令
    • import命令
    • 模块的整体加载
    • export default命令
    • 模块的继承
    • ES6模块加载的实质
    • 循环加载
    • CommonJS模块的加载原理
    • CommonJS模块的循环加载
    • ES6模块的循环加载
    • 跨模块常量
    • ES6模块的转码
      • ES6 module transpiler
      • SystemJS
  • 函数式编程
    • 函数合成
    • 参数倒置
    • 执行边界
    • 队列操作
    • 合并操作
    • 配对操作
    • 参考链接
  • Mixin
    • 含义
    • Trait
  • 编程风格
    • 块级作用域
      • let取代var
      • 全局常量和线程安全
    • 字符串
    • 解构赋值
    • 对象
    • 数组
    • 函数
    • Map结构
    • Class
    • 模块
    • ESLint的使用