技术教育社区
www.teccses.org

JavaScript 基础语法详解

封面

作者:张旭乾

页数:320

出版社:清华大学出版社

出版日期:2022

ISBN:9787302589860

电子书格式:pdf/epub/txt

内容简介

随着 JavaScript 逐渐成为通用的编程语言,它在软件开发中的地位越来越高,已经不再只是给 HTML 编写交互的客户端脚本语言了,而是可以胜任前端、后端、大数据和机器学习等应用的全面语言。 JavaScript 从 2015 年以来走向规范化后,新出了很多新特性,而市面上少有书籍介绍它们,所以本书对ES6 到 ES2021 的新特性作了较为详尽和深入的介绍,并且全书的语法可以适应各端开发人员所需。
本书共 14 章,涵盖了 JavaScript 的发展历史、运行环境、基础语法、运算符、数组、函数式编程、面向对象基础、原型链、异步编程、Event Loop、模块化、迭代器和生成器、Symbol、Reflect 和 Proxy 的概念和使用方法,每个章节都有配套的示例,对于较难理解的部分还会提供视频讲解,旨在让读者真正掌握这些语法和新特性,在以后的开发过程中不再有基础语法上的疑问。最后给出了两个 JavaScript 综合案例,分别使用面向对象编程风格和函数式编程风格,以掌握 JavaScript 的不同开发范式。
本书很好适合有其他编程语言基础或对 JavaScript 语言有初步了解的工程师阅读,如果是初学者,也可以通过仔细阅读加练习达到接近掌握的目的。

作者简介

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

本书特色

本书主要讲了JavaScript基础语法,并涵盖了从ES6到ES2020的新特性,也包括一些即将在ES2021发布的新特性,并且以较为全面和深入的方式介绍了这些语法和新特性的概念、使用方法和注意事项。每个章节都有配套的示例,对于较难理解的部分还会提供视频讲解,旨在让读者真正掌握这些语法和新特性,在以后的开发过程中不再有基础语法上的疑问。
30多个示例源代码,100多分钟视频讲解!全面讲解JavaScript基础语法及ES6~ES2021新特性★欣闻十年老友旭乾新书出版。基于他十多年的海内外前端开发经验,这本书也如我所料,用通俗易懂的文字和实用的代码,把JavaScript核心语法介绍得透彻全面。向高校相关专业学生、前端开发人员,乃至后端开发人员推荐本书。
——邱加永 小多科技创始人/CEO
★很高兴看到《JavaScript基础语法详解》的出版,旭乾是我关系很好的朋友,他敏感的性格、细腻的情感、敏捷的思维、坚韧而认真的态度给我留下了非常深刻的印象;或许也正如此造就了他在技术上的炉火纯青。不管你是准备加入技术开发大军的新人,还是需要巩固和完善在JavaScript上的认知和理论水平,相信本书对你会有非常大的帮助,是促进你进步的不二之选。
——杨朴东 千里马招标网技术总监
★旭乾是一位有丰富开发实战经验的前端工程师,对React、Vue都有很深的研究。本书注重JavaScript基础知识的讲解和运用,对基础语法的讲解通俗易懂,后面章节还提供了商城实战案例,附带视频讲解更给初学者带来了极大便利。同时本书内容涵盖广,读后无论什么新框架和新工具你都可以轻松上手,是初学者上手前端开发的第一图书。
——HooopoPingCap 前端工程师/Ruby China社区管理员
★《JavaScript基础语法详解》全面介绍了JavaScript核心语法,从最简单的程序结构讲起,循序渐进,由浅入深,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码和实战案例。非常适合初学者当作前端开发的入门教程,也适合当作日常使用的参考手册。
——曹宇栋 Oracle Cloud Core Compute Software Developer
★旭乾是非常专业、高效的前端工程师,有很好的技术视野。《JavaScript基础语法详解》一书深入浅出,将作者多年的前端开发经验总结于书中,相信不论是初学者还是有经验的开发人员都能从中有所收获。
——塔思 前华兴资本星起技术总监

目录

第1章简介

1.1发展历史

1.2ECMAScript提案流程

1.3运行JavaScript

1.4浏览器环境

1.5Node.js环境

1.6开发工具

1.7基础语法概览

1.7.1变量与数据类型

1.7.2运算符

1.7.3流程控制

1.7.4函数

1.8严格模式

1.9小结

第2章基础知识

2.1程序结构

2.2变量

2.2.1定义变量

2.2.2变量的命名规范

2.3常量

2.3.1定义常量

2.3.2常量的命名规范

2.4数据类型

2.4.1typeof

2.4.2Number类型

2.4.3Boolean类型

2.4.4String类型

2.4.5Null与Undefined类型

2.4.6Object类型

2.4.7Symbol类型

2.4.8BigInt类型

2.4.9Array类型

2.4.10基本类型的特点

2.5数据类型转换

2.5.1隐式类型转换

2.5.2显式类型转换

2.6小结

第3章运算符

3.1赋值运算符

3.2数学运算符

3.2.1一元数学运算符

3.2.2二元数学运算符

3.2.3计算顺序与优先级

3.3比较运算符

3.4逻辑运算符

3.5Nullish Coalescing运算符

3.6三目运算符

3.7位运算符

3.7.1与运算

3.7.2或运算

3.7.3异或运算

3.7.4取反运算

3.7.5左移运算

3.7.6右移运算

3.7.7补零右移运算

3.8组合运算符

3.9其他运算符

3.10优先级表

3.11小结

第4章流程控制

4.1语句

4.2if…else语句

4.3if…else if…else语句

4.4switch…case语句

4.5while语句

4.6do…while语句

4.7for语句

4.8break和continue语句

4.9label语句

4.10小结

第5章函数

5.1声明函数

5.2调用函数

5.3函数表达式

5.4箭头函数

5.5可选与默认参数

5.6可变长度参数

5.6.1arguments

5.6.2rest运算符

5.7回调函数

5.8作用域

5.8.1全局作用域

5.8.2局部作用域

5.8.3提升机制

5.8.4临时隔离区

5.9闭包

5.10递归

5.11高阶函数

5.12柯里化

5.13Memoization

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.1.1简化属性

7.1.2计算属性名

7.2访问与添加对象属性

7.3遍历对象属性

7.4删除对象属性

7.5getters和setters

7.6属性描述符

7.6.1配置属性描述符

7.6.2配置多个属性描述符

7.6.3获取属性描述符

7.6.4不可扩展对象

7.7原型

7.7.1获取原型对象

7.7.2原型链

7.7.3Object.create()

7.8构造函数

7.8.1定义

7.8.2this

7.9toString()和valueOf()

7.10call()、apply()与 bind()

7.10.1call()

7.10.2apply()

7.10.3bind()

7.11对象复制

7.12解构赋值与rest运算符(对象)

7.13with语句

7.14值传递与引用传递

7.15小结

第8章面向对象基础

8.1简介

8.2创建类

8.2.1定义构造函数

8.2.2实例化对象

8.2.3添加行为

8.2.4注意事项

8.3实现继承

8.4抽象类

8.5成员变量

8.6静态成员

8.7小结

第9章字符串与正则表达式

9.1字符串介绍

9.2字符串遍历

9.3字符串操作

9.3.1拼接

9.3.2裁切

9.3.3搜索

9.3.4分割

9.3.5其他操作

9.4模板字符串

9.5正则表达式介绍

9.6正则表达式语法

9.6.1特殊字符匹配

9.6.2匹配次数

9.6.3区间、逻辑和界定符

9.6.4分组

9.7字符串中的正则

9.8RegExp对象

9.9常见的正则表达式

9.10小结

第10章内置对象

10.1基本类型包装对象

10.2Math

10.3Date

10.3.1获取日期

10.3.2修改日期

10.3.3解析日期

10.3.4日期比较

10.4JSON

10.4.1序列化

10.4.2反序列化

10.5Set

10.6Map

10.7迭代器、可迭代对象和生成器

10.7.1迭代器

10.7.2可迭代对象

10.7.3生成器与生成器函数

10.8TypedArray

10.8.1创建类型数组

10.8.2属性和方法

10.9Symbol

10.9.1Symbol.match

10.9.2Symbol.toStringTag

10.9.3Symbol.isConcatSpreadable

10.9.4Symbol.toPrimitive

10.9.5Symbol.hasInstance

10.9.6Symbol.species

10.10Console

10.10.1调试

10.10.2显示

10.10.3记录

10.11Reflect

10.12Proxy

10.12.1处理对象

10.12.2不变性

10.12.3可回收代理

10.13小结

第11章异常处理

11.1捕获异常

11.2throw抛出异常

11.3Error对象

11.4自定义异常

11.5finally

11.6捕获多个异常

11.7小结

第12章异步编程

12.1setTimeout()

12.2setInterval()

12.3Promise

12.3.1创建Promise

12.3.2链式调用

12.3.3处理异常

12.3.4执行多个Promise

12.4async/await

12.4.1定义异步函数

12.4.2使用await

12.4.3处理异常

12.5异步迭代

12.6Event Loop

12.6.1调用栈

12.6.2Event Loop

12.7小结

第13章模块化

13.1实现模块化的方式

13.2模块化配置

13.2.1导出模块

13.2.2导入模块

13.2.3默认导出

13.2.4别名导入

13.2.5再导出

13.2.6动态导入

13.3Node.js原生模块管理

13.4小结

第14章案例与总结

14.1面向对象设计示例: 线上服装商城

14.1.1需求

14.1.2Clothing衣服类

14.1.3Store商城类

14.1.4User用户类

14.1.5Address地址类

14.1.6Cart购物车类

14.1.7Order订单类

14.1.8示例

14.2函数式编程示例: 扩展数组API

14.2.1唯一元素

14.2.2交集

14.2.3并集

14.2.4差集

14.2.5对称差集

14.2.6求和

14.2.7平均值

14.2.8范围

14.2.9分割

14.2.10频次

14.2.11导出

14.2.12调用示例

14.3下一步规划

14.3.1前端

14.3.2后端

14.3.3特定领域

14.4写在最后

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《JavaScript 基础语法详解》
Article link:https://www.teccses.org/1351728.html