Created markdown files for different chapters
parent
38cf678ec3
commit
c88567c085
|
@ -0,0 +1,61 @@
|
||||||
|
# Chapter 11. The JavaScript Standard Library
|
||||||
|
|
||||||
|
## 11.1 Sets and Maps
|
||||||
|
|
||||||
|
### 11.1.1 The Set Class
|
||||||
|
|
||||||
|
### 11.1.2 The Map Class
|
||||||
|
|
||||||
|
### 11.1.3 WeakMap and WeakSet
|
||||||
|
|
||||||
|
## 11.2 Typed Arrays and Binary Data
|
||||||
|
|
||||||
|
### 11.2.1 Typed Array Types
|
||||||
|
|
||||||
|
### 11.2.2 Creating Typed Arrays
|
||||||
|
|
||||||
|
### 11.2.3 Using Typed Arrays
|
||||||
|
|
||||||
|
### 11.2.4 Typed Array Methods and Properties
|
||||||
|
|
||||||
|
### 11.2.5 DataView and Endianness
|
||||||
|
|
||||||
|
## 11.3 Pattern Matching with Regular Expressions
|
||||||
|
|
||||||
|
### 11.3.1 Defining Regular Expressions
|
||||||
|
|
||||||
|
### 11.3.2 String Methods for Pattern Matching
|
||||||
|
|
||||||
|
### 11.3.3 The RegExp Class
|
||||||
|
|
||||||
|
## 11.4 Dates and Times
|
||||||
|
|
||||||
|
### 11.4.1 Timestamps
|
||||||
|
|
||||||
|
### 11.4.2 Data Arithmetic
|
||||||
|
|
||||||
|
### 11.4.3 Formatting and Parsing Date Strings
|
||||||
|
|
||||||
|
## 11.5 Error Classes
|
||||||
|
|
||||||
|
## 11.6 JSON Serialization and Parsing
|
||||||
|
|
||||||
|
### 11.6.1 JSON Customizations
|
||||||
|
|
||||||
|
## 11.7 The Internationalization API
|
||||||
|
|
||||||
|
### 11.7.1 Formatting Numbers
|
||||||
|
|
||||||
|
### 11.7.2 Formatting Dates and Times
|
||||||
|
|
||||||
|
### 11.7.3 Comparing Strings
|
||||||
|
|
||||||
|
## 11.8 The Console API
|
||||||
|
|
||||||
|
### 11.8.1 Formatted Output with Console
|
||||||
|
|
||||||
|
## 11.9 URL APIs
|
||||||
|
|
||||||
|
### 11.9.1 Legacy URL Functions
|
||||||
|
|
||||||
|
## 11.10 Timers
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Chapter 12. Iterators and Generators
|
||||||
|
|
||||||
|
## 12.1 How Iterators Work
|
||||||
|
|
||||||
|
## 12.2 Implementing Iterable Objects
|
||||||
|
|
||||||
|
### 12.2.1 “Closing” an Iterator: The Return Method
|
||||||
|
|
||||||
|
## 12.3 Generators
|
||||||
|
|
||||||
|
### 12.3.1 Generator Examples
|
||||||
|
|
||||||
|
### 12.3.2 yield* and Recursive Generators
|
||||||
|
|
||||||
|
## 12.4 Advanced Generator Features
|
||||||
|
|
||||||
|
### 12.4.1 The Return Value of a Generator Function
|
||||||
|
|
||||||
|
### 12.4.2 The Value of a yield Expression
|
||||||
|
|
||||||
|
### 12.4.3 The return() and throw() Methods of a Generator
|
||||||
|
|
||||||
|
### 12.4.4 A Final Note About Generators
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Chapter 13. Asynchronous JavaScript
|
||||||
|
|
||||||
|
## 13.1 Asynchronous Programming with Callbacks
|
||||||
|
|
||||||
|
### 13.1.1 Timers
|
||||||
|
|
||||||
|
### 13.1.2 Events
|
||||||
|
|
||||||
|
### 13.1.4 Callbacks and Events in Node
|
||||||
|
|
||||||
|
## 13.2 Promises
|
||||||
|
|
||||||
|
### 13.2.1 Using Promises
|
||||||
|
|
||||||
|
### 13.2.2 Chaining Promises
|
||||||
|
|
||||||
|
### 13.2.3 Resolving Promises
|
||||||
|
|
||||||
|
### 13.2.4 More on Promises and Errors
|
||||||
|
|
||||||
|
### 13.2.5 Promises in Parallel
|
||||||
|
|
||||||
|
### 13.2.6 Making Promises
|
||||||
|
|
||||||
|
### 13.2.7 Promises in Sequence
|
||||||
|
|
||||||
|
## 13.3 async and awit
|
||||||
|
|
||||||
|
### 13.3.1 await Expression
|
||||||
|
|
||||||
|
### 13.3.2 async Functions
|
||||||
|
|
||||||
|
### 13.3.3 Awaiting Multiple Promises
|
||||||
|
|
||||||
|
### 13.3.4 Implementation Details
|
||||||
|
|
||||||
|
## 13.4 Asynchronous Iteration
|
||||||
|
|
||||||
|
### 13.4.1 The for/await Loop
|
||||||
|
|
||||||
|
### 13.4.2 Asynchronous Iterators
|
||||||
|
|
||||||
|
### 13.4.3 Asynchronous Generators
|
||||||
|
|
||||||
|
### 13.4.4 Implementing Asynchronous Iterators
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Chapter 14. Metaprogramming
|
||||||
|
|
||||||
|
## 14.1 Property Attributes
|
||||||
|
|
||||||
|
## 14.2 Object Extensibility
|
||||||
|
|
||||||
|
## 14.3 The prototype Attribute
|
||||||
|
|
||||||
|
## 14.4 Well-Known Symbols
|
||||||
|
|
||||||
|
### 14.4.1 Symbol.iterator and Symbol.asyncIterator
|
||||||
|
|
||||||
|
### 14.4.2 Symbol.hasInstance
|
||||||
|
|
||||||
|
### 14.4.3 Symbol.toStringTag
|
||||||
|
|
||||||
|
### 14.4.4 Symbol.species
|
||||||
|
|
||||||
|
### 14.4.5 Symbol.isConcatSpreadable
|
||||||
|
|
||||||
|
### 14.4.6 Pattern-Matching Symbols
|
||||||
|
|
||||||
|
### 14.4.7 Symbol.toPrimitive
|
||||||
|
|
||||||
|
### 14.4.8 Symbol.unscopables
|
||||||
|
|
||||||
|
## 14.5 Template Tags
|
||||||
|
|
||||||
|
## 14.6 The Reflect API
|
||||||
|
|
||||||
|
## 14.7 Proxy Objects
|
||||||
|
|
||||||
|
### 14.7.1 Proxy Invariants
|
|
@ -0,0 +1,155 @@
|
||||||
|
# Chapter 15. JavaScript in Web Browsers
|
||||||
|
|
||||||
|
## 15.1 Web Programming Basics
|
||||||
|
|
||||||
|
### 15.1.1 JavaScript in HTML <script> Tags
|
||||||
|
|
||||||
|
### 15.1.2 The Document Object Model
|
||||||
|
|
||||||
|
### 15.1.3 The Global Object in Web Browsers
|
||||||
|
|
||||||
|
### 15.1.4 Scripts Share a Namespace
|
||||||
|
|
||||||
|
### 15.1.5 Execution of JavaScript Programs
|
||||||
|
|
||||||
|
### 15.1.6 Program Input and Output
|
||||||
|
|
||||||
|
### 15.1.7 Program Errors
|
||||||
|
|
||||||
|
### 15.1.8 The Web Security Model
|
||||||
|
|
||||||
|
## 15.2 Events
|
||||||
|
|
||||||
|
### 15.2.1 Event Categories
|
||||||
|
|
||||||
|
### 15.2.2 Registering Event Handlers
|
||||||
|
|
||||||
|
### 15.2.3 Event Handler Invocation
|
||||||
|
|
||||||
|
### 15.2.4 Event Propagation
|
||||||
|
|
||||||
|
### 15.2.5 Event Cancellation
|
||||||
|
|
||||||
|
### 15.2.6 Dispatching Custom Events
|
||||||
|
|
||||||
|
## 15.3 Scripting Documents
|
||||||
|
|
||||||
|
### 15.3.1 Selecting Document Elements
|
||||||
|
|
||||||
|
### 15.3.2 Document Structure and Traversal
|
||||||
|
|
||||||
|
### 15.3.3 Attributes
|
||||||
|
|
||||||
|
### 15.3.4 Element Content
|
||||||
|
|
||||||
|
### 15.3.5 Creating, Inserting, and Deleting Nodes
|
||||||
|
|
||||||
|
### 15.3.6 Example: Generating a Table of Contents
|
||||||
|
|
||||||
|
## 15.4 Scripting CSS
|
||||||
|
|
||||||
|
### 15.4.1 CSS Classes
|
||||||
|
|
||||||
|
### 15.4.2 Inline Styles
|
||||||
|
|
||||||
|
### 15.4.3 Computed Styles
|
||||||
|
|
||||||
|
### 15.4.4 Scripting Stylesheets
|
||||||
|
|
||||||
|
### 15.4.5 CSS Animations and Events
|
||||||
|
|
||||||
|
## 15.5 Document Geometry and Scrolling
|
||||||
|
|
||||||
|
### 15.5.1 Document Coordinates and Viewport Coordinates
|
||||||
|
|
||||||
|
### 15.5.2 Querying the Geometry of an Element
|
||||||
|
|
||||||
|
### 15.5.3 Determining the Element at a Point
|
||||||
|
|
||||||
|
### 15.5.4 Scrolling
|
||||||
|
|
||||||
|
### 15.5.5 Viewport Size, Content Size, and Scroll Position
|
||||||
|
|
||||||
|
## 15.6 Web Components
|
||||||
|
|
||||||
|
### 15.6.1 Using Web Components
|
||||||
|
|
||||||
|
### 15.6.2 HTML Templates
|
||||||
|
|
||||||
|
### 15.6.3 Custom Elements
|
||||||
|
|
||||||
|
### 15.6.4 Shadow DOM
|
||||||
|
|
||||||
|
### 15.6.5 Example: a <search-box> Web Component
|
||||||
|
|
||||||
|
## 15.7 SVG: Scalable Vector Graphics
|
||||||
|
|
||||||
|
### 15.7.1 SVG in HTML
|
||||||
|
|
||||||
|
### 15.7.2 Scripting SVG
|
||||||
|
|
||||||
|
### 15.7.3 Creating SVG Images with JavaScript
|
||||||
|
|
||||||
|
## 15.8 Graphics in a <canvas>
|
||||||
|
|
||||||
|
### 15.8.1 Paths and Polygons
|
||||||
|
|
||||||
|
### 15.8.2 Canvas Dimensions and Coordinates
|
||||||
|
|
||||||
|
### 15.8.3 Graphics Attributes
|
||||||
|
|
||||||
|
### 15.8.4 Canvas Drawing Operations
|
||||||
|
|
||||||
|
### 15.8.5 Coordinate System Transforms
|
||||||
|
|
||||||
|
### 15.8.6 Clipping
|
||||||
|
|
||||||
|
### 15.8.7 Pixel Manipulation
|
||||||
|
|
||||||
|
## 15.9 Audio APIs
|
||||||
|
|
||||||
|
### 15.9.1 The Audio() Constructor
|
||||||
|
|
||||||
|
### 15.9.2 The WebAudio API
|
||||||
|
|
||||||
|
## 15.10 Location, Navigation, and History
|
||||||
|
|
||||||
|
### 15.10.1 Loading New Documents
|
||||||
|
|
||||||
|
### 15.10.2 Browsing History
|
||||||
|
|
||||||
|
### 15.10.3 History Management with hashchange Events
|
||||||
|
|
||||||
|
### 15.10.4 History Management with pushState()
|
||||||
|
|
||||||
|
## 15.11 Networking
|
||||||
|
|
||||||
|
### 15.11.1 fetch()
|
||||||
|
|
||||||
|
### 15.11.2 Server-Sent Events
|
||||||
|
|
||||||
|
### 15.11.3 WebSockets
|
||||||
|
|
||||||
|
## 15.12 Storage
|
||||||
|
|
||||||
|
### 15.12.1 localStorage and sessionStorage
|
||||||
|
|
||||||
|
### 15.12.2 Cookies
|
||||||
|
|
||||||
|
### 15.12.3 IndexedDB
|
||||||
|
|
||||||
|
## 15.13 Worker Threads and Messaging
|
||||||
|
|
||||||
|
### 15.13.1 Worker Objects
|
||||||
|
|
||||||
|
### 15.13.2 The Global Object in Workers
|
||||||
|
|
||||||
|
### 15.13.3 Importing Code into a Worker
|
||||||
|
|
||||||
|
### 15.13.4 Worker Execution Model
|
||||||
|
|
||||||
|
### 15.13.5 postMessage(), MessagePorts, and MessageChannels
|
||||||
|
|
||||||
|
### 15.13.6 Cross-Origin Messaging with postMessage()
|
||||||
|
|
||||||
|
## 15.14 Example: The Mandelbrot Set
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Chapter 16. Server-Side JavaScript with Node
|
||||||
|
|
||||||
|
## 16.1 Node Programming Basics
|
||||||
|
|
||||||
|
### 16.1.1 Console Output
|
||||||
|
|
||||||
|
### 16.1.2 Command-Line Arguments and Environment Variables
|
||||||
|
|
||||||
|
### 16.1.3 Program Life Cycle
|
||||||
|
|
||||||
|
### 16.1.4 Node Modules
|
||||||
|
|
||||||
|
### 16.1.5 The Node Package Manager
|
||||||
|
|
||||||
|
## 16.2 Node Is Asynchronous by Default
|
||||||
|
|
||||||
|
## 16.3 Buffers
|
||||||
|
|
||||||
|
## 16.4 Events and EventEmitter
|
||||||
|
|
||||||
|
## 16.5 Streams
|
||||||
|
|
||||||
|
### 16.5.1 Pipes
|
||||||
|
|
||||||
|
### 16.5.2 Asynchronous Iteration
|
||||||
|
|
||||||
|
### 16.5.3 Writing to Streams and Handling Backpressure
|
||||||
|
|
||||||
|
### 16.5.4 Reading Streams with Events
|
||||||
|
|
||||||
|
## 16.6 Process, CPU, and Operating System Details
|
||||||
|
|
||||||
|
## 16.7 Working with Files
|
||||||
|
|
||||||
|
### 16.7.1 Paths, File Descriptors, and FileHandles
|
||||||
|
|
||||||
|
### 16.7.2 Reading Files
|
||||||
|
|
||||||
|
### 16.7.3 Writing Files
|
||||||
|
|
||||||
|
### 16.7.4 File Operations
|
||||||
|
|
||||||
|
### 16.7.5 File Metadata
|
||||||
|
|
||||||
|
### 16.7.6 Working with Directories
|
||||||
|
|
||||||
|
## 16.8 HTTP Clients and Servers
|
||||||
|
|
||||||
|
## 16.9 Non-HTTP Network Servers and Clients
|
||||||
|
|
||||||
|
## 16.10 Working with Child Processes
|
||||||
|
|
||||||
|
### 16.10.1 execSync() and execFileSync()
|
||||||
|
|
||||||
|
### 16.10.2 exec() and execFile()
|
||||||
|
|
||||||
|
### 16.10.3 spawn()
|
||||||
|
|
||||||
|
### 16.10.4 fork()
|
||||||
|
|
||||||
|
## 16.11 Worker Threads
|
||||||
|
|
||||||
|
### 16.11.1 Creating Workers and Passing Messages
|
||||||
|
|
||||||
|
### 16.11.2 The Worker Execution Environment
|
||||||
|
|
||||||
|
### 16.11.3 Communication Channels and MessagePorts
|
||||||
|
|
||||||
|
### 16.11.4 Transferring MessagePorts and Typed Arrays
|
||||||
|
|
||||||
|
### 16.11.5 Sharing Typed Arrays Between Threads
|
|
@ -0,0 +1,85 @@
|
||||||
|
# Chapter 4. Expressions and Operators
|
||||||
|
|
||||||
|
## 4.1 Primary Expressions
|
||||||
|
|
||||||
|
## 4.2 Object and Array Initializers
|
||||||
|
|
||||||
|
## 4.3 Function Definition Expressions
|
||||||
|
|
||||||
|
## 4.4 Property Access Expressions
|
||||||
|
|
||||||
|
### 4.4.1 Conditional Property Access
|
||||||
|
|
||||||
|
## 4.5 Invocation Expressions
|
||||||
|
|
||||||
|
### 4.5.1 Conditional Invocation
|
||||||
|
|
||||||
|
## 4.6 Object Creation Expressions
|
||||||
|
|
||||||
|
## 4.7 Operator Overview
|
||||||
|
|
||||||
|
### 4.7.1 Number of Operands
|
||||||
|
|
||||||
|
### 4.7.2 Operand and Result Type
|
||||||
|
|
||||||
|
### 4.7.3 Operator Side Effects
|
||||||
|
|
||||||
|
### 4.7.4 Operator Precedence
|
||||||
|
|
||||||
|
### 4.7.5 Operator Associativity
|
||||||
|
|
||||||
|
### 4.7.6 Order of Evaluation
|
||||||
|
|
||||||
|
## 4.8 Arithmetic Expressions
|
||||||
|
|
||||||
|
### 4.8.1 The + Operator
|
||||||
|
|
||||||
|
### 4.8.2 Unary Arithmetic Operators
|
||||||
|
|
||||||
|
### 4.8.3 Bitwise Operators
|
||||||
|
|
||||||
|
## 4.9 Relational Expressions
|
||||||
|
|
||||||
|
### 4.9.1 Equality and Inequality Operators
|
||||||
|
|
||||||
|
### 4.9.2 Comparison Operators
|
||||||
|
|
||||||
|
### 4.9.3 The in Operator
|
||||||
|
|
||||||
|
### 4.9.4 The instanceof Operator
|
||||||
|
|
||||||
|
## 4.10 Logical Expressions
|
||||||
|
|
||||||
|
### 4.10.1 Logical AND (&&)
|
||||||
|
|
||||||
|
### 4.10.2 Logical OR (||)
|
||||||
|
|
||||||
|
### 4.10.3 Logical NOT (!)
|
||||||
|
|
||||||
|
## 4.11 Assignment Expressions
|
||||||
|
|
||||||
|
### 4.11.1 Assignment with Operation
|
||||||
|
|
||||||
|
## 4.12 Evaluation Expressions
|
||||||
|
|
||||||
|
### 4.12.1 eval()
|
||||||
|
|
||||||
|
### 4.12.2 Global eval()
|
||||||
|
|
||||||
|
### 4.12.3 Strict eval()
|
||||||
|
|
||||||
|
## 4.13 Miscellaneous Operators
|
||||||
|
|
||||||
|
### 4.13.1 The Conditional Operator (?:)
|
||||||
|
|
||||||
|
### 4.13.2 First-Defined (??)
|
||||||
|
|
||||||
|
### 4.13.3 The typeof Operator
|
||||||
|
|
||||||
|
### 4.13.4 The delete Operator
|
||||||
|
|
||||||
|
### 4.13.5 The await Operator
|
||||||
|
|
||||||
|
### 4.13.6 The void Operator
|
||||||
|
|
||||||
|
### 4.13.7 The comma Operator (,)
|
|
@ -0,0 +1,59 @@
|
||||||
|
# Chapter 5. Statements
|
||||||
|
|
||||||
|
## 5.1 Expression Statements
|
||||||
|
|
||||||
|
## 5.2 Compound and Empty Statements
|
||||||
|
|
||||||
|
## 5.3 Conditionals
|
||||||
|
|
||||||
|
### 5.3.1 if
|
||||||
|
|
||||||
|
### 5.3.2 else if
|
||||||
|
|
||||||
|
### 5.3.3 switch
|
||||||
|
|
||||||
|
## 5.4 Loops
|
||||||
|
|
||||||
|
### 5.4.1 while
|
||||||
|
|
||||||
|
### 5.4.2 do/while
|
||||||
|
|
||||||
|
### 5.4.3 for
|
||||||
|
|
||||||
|
### 5.4.4 for/of
|
||||||
|
|
||||||
|
### 5.4.5 for/in
|
||||||
|
|
||||||
|
## 5.5 Jumps
|
||||||
|
|
||||||
|
### 5.5.1 Labeled Statements
|
||||||
|
|
||||||
|
### 5.5.2 break
|
||||||
|
|
||||||
|
### 5.5.3 continue
|
||||||
|
|
||||||
|
### 5.5.4 return
|
||||||
|
|
||||||
|
### 5.5.5 yield
|
||||||
|
|
||||||
|
### 5.5.6 throw
|
||||||
|
|
||||||
|
### 5.5.7 try/catch/finally
|
||||||
|
|
||||||
|
## 5.6 Miscellaneous Statements
|
||||||
|
|
||||||
|
### 5.6.1 with
|
||||||
|
|
||||||
|
### 5.6.2 debugger
|
||||||
|
|
||||||
|
### 5.6.3 “use strict”
|
||||||
|
|
||||||
|
## 5.7 Declarations
|
||||||
|
|
||||||
|
### 5.7.1 const, let, and var
|
||||||
|
|
||||||
|
### 5.7.2 function
|
||||||
|
|
||||||
|
### 5.7.3 class
|
||||||
|
|
||||||
|
### 5.7.4 import and export
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Chapter 6. Objects
|
||||||
|
|
||||||
|
## 6.1 Introduction to Objects
|
||||||
|
|
||||||
|
## 6.2 Creating Objects
|
||||||
|
|
||||||
|
## 6.3 Querying and Setting Properties
|
||||||
|
|
||||||
|
## 6.4 Deleting Properties
|
||||||
|
|
||||||
|
## 6.5 Testing Properties
|
||||||
|
|
||||||
|
## 6.6 Enumerating Properties
|
||||||
|
|
||||||
|
## 6.7 Extending Objects
|
||||||
|
|
||||||
|
## 6.8 Serializing Objects
|
||||||
|
|
||||||
|
## 6.9 Object Methods
|
||||||
|
|
||||||
|
## 6.10 Extended Object Literal Syntax
|
Loading…
Reference in New Issue