博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6 入门阮一峰这本书的目录
阅读量:6281 次
发布时间:2019-06-22

本文共 6581 字,大约阅读时间需要 21 分钟。

hot3.png

第1章 ECMAScript 6简介 11.1 ECMAScript和JavaScript的关系 11.2 ES6与ECMAScript 2015的关系 11.3 语法提案的批准流程 21.4 ECMAScript的历史 31.5 部署进度 41.6 Babel 转码器 41.6.1 配置文件.babelrc 51.6.2 命令行转码babel-cli 61.6.3 babel-node 71.6.4 babel-register 81.6.5 babel-core 81.6.6 babel-polyfill 91.6.7 浏览器环境 101.6.8 在线转换 101.6.9 与其他工具的配合 111.7 Traceur转码器 111.7.1 直接插入网页 121.7.2 在线转换 131.7.3 命令行转换 141.7.4 Node环境的用法 15第2章 let和const命令 172.1 let 命令 172.1.1 基本用法 172.1.2 不存在变量提升 192.1.3 暂时性死区 192.1.4 不允许重复声明 212.2 块级作用域 222.2.1 为什么需要块级作用域 222.2.2 ES6的块级作用域 232.2.3 块级作用域与函数声明 242.2.4 do表达式 272.3 const命令 282.3.1 基本用法 282.3.2 本质 292.3.3 ES6声明变量的6种方法 302.4 顶层对象的属性 302.5 global对象 31第3章 变量的解构赋值 333.1 数组的解构赋值 333.1.1 基本用法 333.1.2 默认值 353.2 对象的解构赋值 373.3 字符串的解构赋值 413.4 数值和布尔值的解构赋值 413.5 函数参数的解构赋值 423.6 圆括号问题 433.6.1 不能使用圆括号的情况 433.6.2 可以使用圆括号的情况 443.7 用途 44第4章 字符串的扩展 494.1 字符的Unicode表示法 494.2 codePointAt() 504.3 String.fromCodePoint() 524.4 字符串的遍历器接口 524.5 at() 534.6 normalize() 534.7 includes()、startsWith()、endsWith() 544.8 repeat() 554.9 padStart()、padEnd() 564.10 模板字符串 574.11 实例:模板编译 604.12 标签模板 624.13 String.raw() 674.14 模板字符串的限制 68第5章 正则的扩展 715.1 RegExp构造函数 715.2 字符串的正则方法 725.3 u修饰符 725.4 y修饰符 745.5 sticky属性 775.6 flags属性 775.7 s修饰符:dotAll模式 785.8 后行断言 795.9 Unicode属性类 805.10 具名组匹配 815.10.1 简介 815.10.2 解构赋值和替换 825.10.3 引用 83第6章 数值的扩展 856.1 二进制和八进制表示法 856.2 Number.isFinite()、Number.isNaN() 866.3 Number.parseInt()、Number.parseFloat() 876.4 Number.isInteger() 886.5 Number.EPSILON 886.6 安全整数和Number.isSafeInteger() 896.7 Math对象的扩展 926.7.1 Math.trunc() 926.7.2 Math.sign() 926.7.3 Math.cbrt() 936.7.4 Math.clz32() 946.7.5 Math.imul() 956.7.6 Math.fround() 956.7.7 Math.hypot() 966.7.8 对数方法 966.7.9 双曲函数方法 986.8 Math.signbit() 986.9 指数运算符 996.10 Integer数据类型 996.10.1 简介 996.10.2 运算 100第7章 函数的扩展 1037.1 函数参数的默认值 1037.1.1 基本用法 1037.1.2 与解构赋值默认值结合使用 1057.1.3 参数默认值的位置 1077.1.4 函数的length属性 1087.1.5 作用域 1087.1.6 应用 1117.2 rest参数 1127.3 严格模式 1137.4 name属性 1157.5 箭头函数 1167.5.1 基本用法 1167.5.2 注意事项 1187.5.3 嵌套的箭头函数 1217.6 绑定this 1237.7 尾调用优化 1247.7.1 什么是尾调用 1247.7.2 尾调用优化 1257.7.3 尾递归 1267.7.4 递归函数的改写 1287.7.5 严格模式 1297.7.6 尾递归优化的实现 1297.8 函数参数的尾逗号 132第8章 数组的扩展 1338.1 扩展运算符 1338.1.1 含义 1338.1.2 替代数组的apply方法 1348.1.3 扩展运算符的应用 1368.2 Array.from() 1398.3 Array.of() 1428.4 数组实例的copyWithin() 1438.5 数组实例的find()和findIndex() 1448.6 数组实例的fill() 1458.7 数组实例的entries()、keys()和values() 1458.8 数组实例的includes() 1468.9 数组的空位 147第9章 对象的扩展 1519.1 属性的简洁表示法 1519.2 属性名表达式 1549.3 方法的name属性 1569.4 Object.is() 1579.5 Object.assign() 1589.5.1 基本用法 1589.5.2 注意点 1609.5.3 常见用途 1619.6 属性的可枚举性 1639.7 属性的遍历 1659.8 __proto__ 属性、Object.setPrototypeOf()、Object.getPrototypeOf() 1669.8.1 __proto__ 属性 1669.8.2 Object.setPrototypeOf() 1679.8.3 Object.getPrototypeOf() 1689.9 Object.keys()、Object.values()、Object.entries() 1699.9.1 Object.keys() 1699.9.2 Object.values() 1709.9.3 Object.entries 1719.10 对象的扩展运算符 1739.11 Object.getOwnPropertyDescriptors() 1779.12 Null传导运算符 181第10章 Symbol 18310.1 概述 18310.2 作为属性名的Symbol 18510.3 实例:消除魔术字符串 18810.4 属性名的遍历 18910.5 Symbol.for()、Symbol.keyFor() 19110.6 实例:模块的Singleton模式 19210.7 内置的Symbol值 19410.7.1 Symbol.hasInstance 19410.7.2 Symbol.isConcatSpreadable 19510.7.3 Symbol.species 19610.7.4 Symbol.match 19710.7.5 Symbol.replace 19710.7.6 Symbol.search 19810.7.7 Symbol.split 19810.7.8 Symbol.iterator 19910.7.9 Symbol.toPrimitive 20010.7.10 Symbol.toStringTag 20110.7.11 Symbol.unscopables 202第11章 Set和Map数据结构 20511.1 Set 20511.1.1 基本用法 20511.1.2 Set实例的属性和方法 20711.1.3 遍历操作 20811.2 WeakSet 21211.2.1 含义 21211.2.2 语法 21211.3 Map 21411.3.1 含义和基本用法 21411.3.2 实例的属性和操作方法 21811.3.3 遍历方法 22011.3.4 与其他数据结构的互相转换 22211.4 WeakMap 22511.4.1 含义 22511.4.2 WeakMap的语法 22711.4.3 WeakMap示例 22811.4.4 WeakMap的用途 229第12章 Proxy 23312.1 概述 23312.2 Proxy实例的方法 23712.2.1 get() 23712.2.2 set() 24112.2.3 apply() 24312.2.4 has() 24412.2.5 construct() 24612.2.6 deleteProperty() 24712.2.7 defineProperty() 24812.2.8 getOwnPropertyDescriptor() 24812.2.9 getPrototypeOf() 24912.2.10 isExtensible() 24912.2.11 ownKeys() 25012.2.12 preventExtensions() 25412.2.13 setPrototypeOf() 25512.3 Proxy.revocable() 25512.4 this问题 25612.5 实例:Web服务的客户端 258第13章 Reflect 25913.1 概述 25913.2 静态方法 26113.3 实例:使用Proxy实现观察者模式 270第14章 Promise对象 27314.1 Promise的含义 27314.2 基本用法 27414.3 Promise.prototype.then() 27814.4 Promise.prototype.catch() 27914.5 Promise.all() 28514.6 Promise.race() 28714.7 Promise.resolve() 28814.8 Promise.reject() 29014.9 两个有用的附加方法 29114.10 应用 29214.11 Promise.try() 294第15章 Iterator和for...of循环 29715.1 Iterator(遍历器)的概念 29715.2 默认Iterator接口 30015.3 调用Iterator接口的场合 30515.4 字符串的Iterator接口 30715.5 Iterator接口与Generator函数 30815.6 遍历器对象的return()、throw() 30915.7 for...of循环 310第16章 Generator函数的语法 31716.1 简介 31716.2 next方法的参数 32316.3 for...of循环 32516.4 Generator.prototype.throw() 32816.5 Generator.prototype.return() 33416.6 yield*表达式 33516.7 作为对象属性的Generator函数 34216.8 Generator函数this 34216.9 含义 34516.10 应用 347第17章 Generator函数的异步应用 35517.1 传统方法 35517.2 基本概念 35517.3 Generator函数 35717.4 Thunk函数 36117.5 co模块 36817.6 实例:处理 Stream 373第18章 async函数 37518.1 含义 37518.2 用法 37718.3 语法 37918.4 async函数的实现原理 38618.5 其他异步处理方法的比较 38718.6 实例:按顺序完成异步操作 38818.7 异步遍历器 390第19章 Class的基本语法 39919.1 简介 39919.2 严格模式 40319.3 constructor方法 40319.4 类的实例对象 40419.5 Class表达式 40619.6 不存在变量提升 40719.7 私有方法 40819.8 私有属性 40919.9 this的指向 41019.10 name属性 41219.11 Class的取值函数(getter)和存值函数(setter) 41219.12 Class的Generator方法 41319.13 Class的静态方法 41419.14 Class的静态属性和实例属性 41519.15 new.target属性 418第20章 Class的继承 42120.1 简介 42120.2 Object.getPrototypeOf() 42320.3 super关键字 42320.4 类的prototype属性和 __proto__ 属性 42920.4.1 extends的继承目标 43020.4.2 实例的 __proto__ 属性 43220.5 原生构造函数的继承 43220.6 Mixin模式的实现 436第21章 修饰器 43921.1 类的修饰 43921.2 方法的修饰 44221.3 为什么修饰器不能用于函数 44421.4 core-decorators.js 44621.5 使用修饰器实现自动发布事件 44921.6 Mixin 45021.7 Trait 45321.8 Babel转码器的支持 456第22章 Module的语法 45722.1 概述 45722.2 严格模式 45822.3 export命令 45922.4 import命令 46222.5 模块的整体加载 46422.6 export default命令 46522.7 export与import的复合写法 46822.8 模块的继承 46922.9 跨模块常量 47022.10 import() 47122.10.1 简介 47122.10.2 适用场合 47222.10.3 注意点 473第23章 Module的加载实现 47523.1 浏览器加载 47523.1.1 传统方法 47523.1.2 加载规则 47623.2 ES6模块与CommonJS模块的差异 47723.3 Node加载 48123.4 循环加载 48523.5 ES6模块的转码 492第24章 编程风格 49524.1 块级作用域 49524.2 字符串 49724.3 解构赋值 49724.4 对象 49824.5 数组 50024.6 函数 50124.7 Map结构 50324.8 Class 50324.9 模块 50424.10 ESLint的使用 506第25章 读懂ECMAScript规格 50925.1 概述 50925.2 相等运算符 51025.3 数组的空位 51125.4 数组的map方法 513第26章 ArrayBuffer 51726.1 ArrayBuffer对象 51826.2 TypedArray视图 52126.3 复合视图 53426.4 DataView视图 53526.5 二进制数组的应用 53726.6 SharedArrayBuffer 54126.7 Atomics对象 543

转载于:https://my.oschina.net/huangsuhong/blog/1551209

你可能感兴趣的文章
百度云盘demo
查看>>
概率论与数理统计习题
查看>>
初学structs2,简单配置
查看>>
Laravel5.0学习--01 入门
查看>>
时间戳解读
查看>>
sbin/hadoop-daemon.sh: line 165: /tmp/hadoop-hxsyl-journalnode.pid: Permission denied
查看>>
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>
Google MapReduce到底解决什么问题?
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
python分析postfix邮件日志的状态
查看>>
Mysql-5.6.x多实例配置
查看>>