作品简介

随着JavaScript逐渐成为通用的编程语言,它在软件开发中的地位越来越高,已经不再只是给HTML编写交互的客户端脚本语言了,而是可以胜任前端、后端、大数据和机器学习等应用的全面语言。JavaScript从2015年以来走向规范化后,新出了很多新特性,而市面上少有书籍介绍它们,所以本书对ES6到ES2021的新特性作了较为详尽和深入的介绍,并且全书的语法可以适应各端开发人员所需。

本书共14章,涵盖了JavaScript的发展历史、运行环境、基础语法、运算符、数组、函数式编程、面向对象基础、原型链、异步编程、Event Loop、模块化、迭代器和生成器、Symbol、Reflect和Proxy的概念和使用方法,每个章节都有配套的示例,对于较难理解的部分还会提供视频讲解,旨在让读者真正掌握这些语法和新特性,在以后的开发过程中不再有基础语法上的疑问。最后给出了两个JavaScript综合案例,分别使用面向对象编程风格和函数式编程风格,以掌握JavaScript的不同开发范式。

本书非常适合有其他编程语言基础或对JavaScript语言有初步了解的工程师阅读,如果是初学者,也可以通过仔细阅读加练习达到完全掌握的目的。

张旭乾,毕业于美国史蒂文斯理工学院,硕士学位,主攻云计算和分布式系统方向,并获得专业认证。拥有13年编程经验,从事过全栈、后端、前端和移动端的开发,对软件的整体设计和开发有着丰富的经验,并对软件工程化的管理有所研究。因此决定通过内容创作,让开发者能从技能到思想有全面的提升,包括动画形式的视频、成体系的前端开发课程和通俗易懂的技术文章等,坚信前端与设计不分家。

作品目录

  • 内容简介
  • 作者简介
  • 前言 PREFACE
  • 第1章 简介
  • 1.1 发展历史
  • 1.2  ECMAScript提案流程
  • 1.3 运行JavaScript
  • 1.4 浏览器环境
  • 1.5  Node.js环境
  • 1.6 开发工具
  • 1.7 基础语法概览
  • 1.8 严格模式
  • 1.9 小结
  • 第2章 基础知识
  • 2.1 程序结构
  • 2.2 变量
  • 2.3 常量
  • 2.4 数据类型
  • 2.5 数据类型转换
  • 2.6 小结
  • 第3章 运算符
  • 3.1 赋值运算符
  • 3.2 数学运算符
  • 3.3 比较运算符
  • 3.4 逻辑运算符
  • 3.5 Nullish Coalescing运算符
  • 3.6 三目运算符
  • 3.7 位运算符
  • 3.8 组合运算符
  • 3.9 其他运算符
  • 3.10 优先级表
  • 3.11 小结
  • 第4章 流程控制
  • 4.1 语句
  • 4.2  if...else语句
  • 4.3 if...else if...else语句
  • 4.4  switch...case语句
  • 4.5  while语句
  • 4.6  do...while语句
  • 4.7  for语句
  • 4.8  break和continue语句
  • 4.9  label语句
  • 4.10 小结
  • 第5章 函数
  • 5.1 声明函数
  • 5.2 调用函数
  • 5.3 函数表达式
  • 5.4 箭头函数
  • 5.5 可选与默认参数
  • 5.6 可变长度参数
  • 5.7 回调函数
  • 5.8 作用域
  • 5.9 闭包
  • 5.10 递归
  • 5.11 高阶函数
  • 5.12 柯里化
  • 5.13  Memoization
  • 5.14 纯函数
  • 5.15 小结
  • 第6章 数组
  • 6.1 创建数组
  • 6.2 访问数组
  • 6.3 修改元素
  • 6.4 删除元素
  • 6.5 栈和队列模式
  • 6.6 数组遍历
  • 6.7 数组过滤和测试
  • 6.8 数组排序
  • 6.9 数组连接
  • 6.10 数组裁切
  • 6.11 搜索元素
  • 6.12 数组与字符串
  • 6.13 数组填充
  • 6.14 数组复制
  • 6.15 扁平化
  • 6.16 解构赋值
  • 6.17 扩展语法
  • 6.18 多维数组
  • 6.19 小结
  • 第7章 对象
  • 7.1 创建对象
  • 7.2 访问与添加对象属性
  • 7.3 遍历对象属性
  • 7.4 删除对象属性
  • 7.5 getters和setters
  • 7.6 属性描述符
  • 7.7 原型
  • 7.8 构造函数
  • 7.9  toString()和valueOf()
  • 7.10  call()、apply()与bind()
  • 7.11 对象复制
  • 7.12 解构赋值与rest运算符(对象)
  • 7.13  with语句
  • 7.14 值传递与引用传递
  • 7.15 小结
  • 第8章 面向对象基础
  • 8.1 简介
  • 8.2 创建类
  • 8.3 实现继承
  • 8.4 抽象类
  • 8.5 成员变量
  • 8.6 静态成员
  • 8.7 小结
  • 第9章 字符串与正则表达式
  • 9.1 字符串介绍
  • 9.2 字符串遍历
  • 9.3 字符串操作
  • 9.4 模板字符串
  • 9.5 正则表达式介绍
  • 9.6 正则表达式语法
  • 9.7 字符串中的正则
  • 9.8  RegExp对象
  • 9.9 常见的正则表达式
  • 9.10 小结
  • 第10章 内置对象
  • 10.1 基本类型包装对象
  • 10.2  Math
  • 10.3  Date
  • 10.4  JSON
  • 10.5  Set
  • 10.6  Map
  • 10.7 迭代器、可迭代对象和生成器
  • 10.8  TypedArray
  • 10.9  Symbol
  • 10.10  Console
  • 10.11  Reflect
  • 10.12  Proxy
  • 10.13 小结
  • 第11章 异常处理
  • 11.1 捕获异常
  • 11.2  throw抛出异常
  • 11.3  Error对象
  • 11.4 自定义异常
  • 11.5  finally
  • 11.6 捕获多个异常
  • 11.7 小结
  • 第12章 异步编程
  • 12.1  setTimeout()
  • 12.2  setInterval()
  • 12.3  Promise
  • 12.4  async/await
  • 12.5 异步迭代
  • 12.6 Event Loop
  • 12.7 小结
  • 第13章 模块化
  • 13.1 实现模块化的方式
  • 13.2 模块化配置
  • 13.3  Node.js原生模块管理
  • 13.4 小结
  • 第14章 案例与总结
  • 14.1 面向对象设计示例:线上服装商城
  • 14.2 函数式编程示例:扩展数组API
  • 14.3 下一步规划
  • 14.4 写在最后
展开全部