互联网
类型
8.1
豆瓣评分
可以朗读
语音朗读
239千字
字数
2019-05-01
发行日期
展开全部
主编推荐语
轻松学习JavaScript的新进展,包括ES6及后续更新。
内容简介
本书中提供了大量实用示例,以循序渐进的方式讲解了异步函数、对象解构、动态导入及异步生成器等内容。本书不仅介绍了箭头函数、解构、模板字面量以及其他语法方面的新元素,还全面展示了ES6引入的流程控制机制,以及如何高效地简化自己的代码。本书的讨论还涉及ES6内置的新集合类型、使用代理控制属性访问、ES6中内置API的改进、CommonJS与ECMAScript模块的互用性等方面。
目录
- 版权信息
- O'Reilly Media, Inc. 介绍
- 业界评论
- 本书赞誉
- 序
- 前言
- 读者对象
- 为什么编写本书
- 本书内容
- 排版约定
- O'Reilly Safari
- 联系我们
- 致谢
- 电子书
- 第1章 ECMAScript和JavaScript的未来
- 1.1 JavaScript标准简史
- 1.2 持续迭代的ECMAScript
- 1.3 浏览器支持和辅助工具
- 1.3.1 Babel转译器简介
- 1.3.2 使用ESLint提高代码质量和一致性
- 1.4 ES6特性
- 1.5 JavaScript的未来
- 第2章 ES6基础
- 2.1 对象字面量
- 2.1.1 属性值简写
- 2.1.2 可计算属性名
- 2.1.3 方法定义
- 2.2 箭头函数
- 2.2.1 词法作用域
- 2.2.2 箭头函数的写法
- 2.2.3 优点和用例
- 2.3 解构
- 2.3.1 对象的解构
- 2.3.2 数组的解构
- 2.3.3 函数参数的默认值
- 2.3.4 函数参数的解构
- 2.3.5 解构的用例
- 2.4 剩余参数和扩展运算符
- 2.4.1 剩余参数
- 2.4.2 扩展运算符
- 2.5 模板字面量
- 2.5.1 字符串插值
- 2.5.2 多行模板字面量
- 2.5.3 标签模板
- 2.6 let和const声明
- 2.6.1 块级作用域和let声明
- 2.6.2 暂时性死区
- 2.6.3 const声明
- 2.6.4 const和let的优势
- 第3章 类、符号、对象和装饰器
- 3.1 类
- 3.1.1 使用类
- 3.1.2 类的属性和方法
- 3.1.3 类的继承
- 3.2 符号
- 3.2.1 本地符号
- 3.2.2 符号的实际用法
- 3.2.3 全局符号注册表
- 3.2.4 众所周知的符号
- 3.3 对象的内置改进
- 3.3.1 使用Object.assign扩展对象
- 3.3.2 使用Object.is进行对象比较
- 3.3.3 Object.setPrototypeOf
- 3.4 装饰器
- 3.4.1 初识JavaScript装饰器
- 3.4.2 装饰器叠加及不变性提醒
- 3.4.3 用例:C#中的特性
- 3.4.4 在JavaScript中装饰属性
- 第4章 迭代与流程控制
- 4.1 Promise
- 4.1.1 快速理解Promise
- 4.1.2 Promise的延续与连缀
- 4.1.3 创建Promise
- 4.1.4 Promise的状态
- 4.1.5 Promise#finally提案
- 4.1.6 Promise.all和Promise.race
- 4.2 迭代器协议与可迭代协议
- 4.2.1 迭代的原理
- 4.2.2 无穷序列
- 4.2.3 迭代对象以生成键/值对
- 4.2.4 打造多功能播放列表
- 4.3 生成器函数与生成器对象
- 4.3.1 生成器基础
- 4.3.2 手工迭代生成器
- 4.3.3 将生成器混入可迭代对象
- 4.3.4 使用生成器遍历树
- 4.3.5 传递生成器函数
- 4.3.6 处理异步流
- 4.3.7 在生成器上抛出错误
- 4.3.8 代替生成器返回
- 4.3.9 基于生成器的异步I/O
- 4.4 异步函数
- 4.4.1 各种异步代码
- 4.4.2 使用async/await
- 4.4.3 并发异步流
- 4.4.4 错误处理
- 4.4.5 深入理解异步函数
- 4.5 异步迭代
- 4.5.1 异步迭代器
- 4.5.2 异步生成器
- 第5章 巧妙使用ES中的集合
- 5.1 使用ES6 map
- 5.1.1 初识ES6 map
- 5.1.2 散列映射和DOM元素
- 5.2 理解和使用WeakMap
- WeakMap是一个糟糕的Map吗
- 5.3 ES6中的Set
- 5.4 ES6 WeakSet
- 第6章 使用代理控制属性访问
- 6.1 了解代理
- 6.1.1 捕获get访问
- 6.1.2 捕获set访问
- 6.1.3 通过代理实现模式验证
- 6.2 可撤销代理
- 6.3 代理捕获器
- 6.3.1 has捕获器
- 6.3.2 deleteProperty捕获器
- 6.3.3 defineProperty捕获器
- 6.3.4 ownKeys捕获器
- 6.4 高级代理捕获器
- 6.4.1 getOwnPropertyDescriptor捕获器
- 6.4.2 apply捕获器
- 6.4.3 construct捕获器
- 6.4.4 getPrototypeOf捕获器
- 6.4.5 setPrototypeOf捕获器
- 6.4.6 preventExtensions捕获器
- 6.4.7 isExtensible捕获器
- 第7章 ES6中内置API的改进
- 7.1 数字
- 7.1.1 二进制和八进制字面量
- 7.1.2 Number.isNaN
- 7.1.3 Number.isFinite
- 7.1.4 Number.parseInt
- 7.1.5 Number.parseFloat
- 7.1.6 Number.isInteger
- 7.1.7 Number.EPSILON
- 7.1.8 Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER
- 7.1.9 Number.isSafeInteger
- 7.2 Math
- 7.2.1 Math.sign
- 7.2.2 Math.trunc
- 7.2.3 Math.cbrt
- 7.2.4 Math.expm1
- 7.2.5 Math.log1p
- 7.2.6 Math.log10
- 7.2.7 Math.log2
- 7.2.8 三角函数
- 7.2.9 Math.hypot
- 7.2.10 按位计算助手
- 7.3 字符串和Unicode
- 7.3.1 String#startsWith
- 7.3.2 String#endsWith
- 7.3.3 String#includes
- 7.3.4 String#repeat
- 7.3.5 字符串填充和去空白
- 7.3.6 Unicode
- 7.3.7 String.prototype[Symbol.iterator]
- 7.3.8 有关分割字形段的提案
- 7.3.9 String#codePointAt
- 7.3.10 String.fromCodePoint
- 7.3.11 Unicode-Aware字符串反转
- 7.3.12 String#normalize
- 7.4 正则表达式
- 7.4.1 粘连修饰符/y
- 7.4.2 Unicode修饰符/u
- 7.4.3 具名捕获组
- 7.4.4 Unicode属性转义
- 7.4.5 后行断言
- 7.4.6 新的/s(dotAll)修饰符
- 7.4.7 String#matchAll
- 7.5 Array
- 7.5.1 Array.from
- 7.5.2 Array.of
- 7.5.3 Array#copyWithin
- 7.5.4 Array#fill
- 7.5.5 Array#find和Array#findIndex
- 7.5.6 Array#keys
- 7.5.7 Array#values
- 7.5.8 Array#entries
- 7.5.9 Array.prototype[Symbol.iterator]
- 第8章 JavaScript模块
- 8.1 CommonJS
- 8.2 JavaScript模块
- 8.2.1 严格模式
- 8.2.2 export语句
- 8.2.3 import语句
- 8.2.4 动态import()
- 8.3 ES模块的实践考量
- 第9章 实用建议
- 9.1 变量声明
- 9.2 模板字面量
- 9.3 简写及对象解构
- 9.4 剩余参数和扩展运算符
- 9.5 函数偏好
- 9.6 类和代理
- 9.7 异步代码流
- 9.8 复杂性蠕变、抽象及约定
- 看完了
展开全部
出版方
人民邮电出版社·图灵出品
图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。