Index
Symbols
- ! (Boolean NOT operator), Logical NOT (!)
- != (non-strict inequality operator)
- !== (inequality operator)
- " (double quotes), String Literals
- $ (dollar sign), Identifiers and Reserved Words
- % (modulo operator), Arithmetic in JavaScript, Arithmetic Expressions
- & (bitwise AND operator), Bitwise Operators
- && (Boolean AND operator), Boolean Values, Logical AND (&&)
- ' (single quotes), String Literals
- * (multiplication operator), Arithmetic in JavaScript, Expressions and Operators, Arithmetic Expressions
- ** (exponentiation operator), Arithmetic in JavaScript, Arithmetic Expressions
- + (plus sign)
- ++ (increment operator), Unary Arithmetic Operators
- , (comma operator), The comma Operator (,)
- - (minus sign)
- -- (decrement operator), Unary Arithmetic Operators
- . (dot operator), A Tour of JavaScript, Querying and Setting Properties
- / (division operator), Arithmetic in JavaScript, Arithmetic Expressions
- /* */ characters, Comments
- // (double slashes), A Tour of JavaScript, A Tour of JavaScript, Comments
- 3D graphics, Graphics in a <canvas>
- ; (semicolon), Optional Semicolons-Optional Semicolons
- < (less than operator)
- << (shift left operator), Bitwise Operators
- <= (less than or equal to operator)
- = (assignment operator), A Tour of JavaScript, Equality and Inequality Operators, Assignment Expressions
- == (equality operator)
- === (strict equality operator)
- => (arrows), A Tour of JavaScript, Optional Semicolons, Arrow Functions
- > (greater than operator)
- >= (greater than or equal to operator)
- >> (shift right with sign operator), Bitwise Operators
- >>> (shift right with zero fill operator), Bitwise Operators
- ?. (conditional access operator), A Tour of JavaScript, Function Invocation
- ?: (conditional operator), The Conditional Operator (?:)
- ?? (first-defined operator), First-Defined (??)
- [] (square brackets), A Tour of JavaScript, Working with Strings, Object and Array Initializers, Querying and Setting Properties, Reading and Writing Array Elements, Strings as Arrays
- \ (backslash), String Literals-Escape Sequences in String Literals
- \n (newline), String Literals, Escape Sequences in String Literals
- \u (Unicode character escape), Unicode Escape Sequences, Escape Sequences in String Literals
- \xA9 (copyright symbol), Escape Sequences in String Literals
- \` (backtick or apostrophe) escape, Escape Sequences in String Literals
- ^ (bitwise XOR operator), Bitwise Operators
- _ (underscore), Identifiers and Reserved Words
- _ (underscores, as numeric separators), Floating-Point Literals
- ` (backtick), String Literals, Template Literals
- {} (curly braces), A Tour of JavaScript, Object and Array Initializers
- || (Boolean OR operator), Boolean Values, Logical OR (||)
- ~ (bitwise NOT operator), Bitwise Operators
- ǀ (bitwise OR operator), Bitwise Operators
- … (spread operator), Spread Operator, The Spread Operator, The Spread Operator for Function Calls, Iterators and Generators
A
- abstract classes, Class Hierarchies and Abstract Classes-Summary
- accelerometers, Mobile Device APIs
- accessor properties, Property Getters and Setters
- addEventListener() method, addEventListener()
- addition operator (+), Arithmetic in JavaScript, The + Operator
- advanced features
- alphabetization, Comparing Strings
- anchor characters, Specifying match position
- apostrophes, String Literals
- apply() method, Indirect Invocation, The call() and apply() Methods
- arc() method, Curves
- arcTo() method, Curves
- arguments
- arithmetic operators, A Tour of JavaScript, Arithmetic in JavaScript-Arithmetic in JavaScript, Arithmetic Expressions-Bitwise Operators
- array index, Reading and Writing Array Elements
- array iterator methods
- array literals, Object and Array Initializers, Array Literals
- Array() constructor, The Array() Constructor
- Array.from() function, Array.from(), Static Array Functions
- Array.isArray() function, Static Array Functions
- Array.of() function, Array.of(), Static Array Functions
- Array.prototype, Arrays, Array-Like Objects
- Array.sort() method, Functions as Values
- arrayBuffer() method, Parsing response bodies
- arrays
- adding and deleting, Adding and Deleting Array Elements
- array length, Array Length
- array methods
- adding arrays, Adding arrays with concat()
- array to string conversions, Array to String Conversions
- flattening arrays, Flattening arrays with flat() and flatMap()
- generic application of, Arrays
- iterator methods, Array Iterator Methods-reduce() and reduceRight()
- overview of, Array Methods
- searching and sorting, Array Searching and Sorting Methods-reverse()
- stacks and queues, Stacks and Queues with push(), pop(), shift(), and unshift()
- static array functions, Static Array Functions
- subarrays, Subarrays with slice(), splice(), fill(), and copyWithin()
- array-like objects, Array-Like Objects-Array-Like Objects
- associative arrays, Introduction to Objects, Objects As Associative Arrays
- creating, Creating Arrays-Array.from()
- definition of term, Overview and Definitions
- initializer expressions, A Tour of JavaScript, Object and Array Initializers
- iterating arrays, Iterating Arrays
- multidimensional arrays, Multidimensional Arrays
- nested, Object and Array Initializers
- overview of, A Tour of JavaScript, Arrays
- processing with functions, Processing Arrays with Functions
- reading and writing array elements, Reading and Writing Array Elements
- sparse arrays, Sparse Arrays
- strings as arrays, Strings as Arrays
- typed arrays
- arrow functions, A Tour of JavaScript, Defining Functions, Arrow Functions
- arrows (=>), A Tour of JavaScript, Optional Semicolons, Arrow Functions
- ASCII control characters, The Text of a JavaScript Program
- assertions, A Tour of JavaScript
- assignment operator (=), A Tour of JavaScript, Equality and Inequality Operators, Assignment Expressions
- associative arrays, Introduction to Objects, Objects As Associative Arrays
- associativity, Operator Associativity
- async keyword, async and await-Implementation Details
- asynchronous programming (see also Node)
- async and await keywords, async and await-Implementation Details
- asynchronous iteration
- callbacks
- definition of term, Asynchronous JavaScript
- JavaScript support for, Asynchronous JavaScript
- Promises
- chaining Promises, Chaining Promises-Chaining Promises
- error handling with, Handling errors with Promises, More on Promises and Errors-The catch and finally methods
- making Promises, Making Promises-Promises in Sequence
- overview of, Promises
- parallel operations, Promises in Parallel
- Promises in sequence, Promises in Sequence-Promises in Sequence
- resolving Promises, Resolving Promises-More on Promises and Errors
- returning from Promise callbacks, The catch and finally methods
- terminology, Handling errors with Promises
- using, Using Promises-Handling errors with Promises
- audio APIs
- await keyword, async and await-Implementation Details
- await operator, The await Operator
B
- Babel, Transpilation with Babel
- backend JavaScript, JavaScript in Web Browsers
- backpressure, Writing to Streams and Handling Backpressure-Writing to Streams and Handling Backpressure
- backslash (\), String Literals-Escape Sequences in String Literals
- backtick (`), String Literals, Template Literals
- bare catch clauses, try/catch/finally
- bezierCurveTo() method, Curves
- big-endian byte ordering, DataView and Endianness
- BigInt type, Arbitrary Precision Integers with BigInt
- binary data, processing, Typed Arrays and Binary Data-DataView and Endianness, Binary APIs (see also typed arrays)
- binary integer literals, Integer Literals
- binary operators, Number of Operands
- bind() method, The bind() Method, Partial Application of Functions
- bitwise operators, Bitwise Operators
- blob() method, Parsing response bodies
- block scoping, Variable and constant scope
- blocking script execution, When scripts run: async and deferred
- Boolean AND operator (&&), Boolean Values, Logical AND (&&)
- Boolean NOT operator (!), Logical NOT (!)
- Boolean OR operator (||), Boolean Values, Logical OR (||)
- boolean values, Boolean Values-Boolean Values
- Boolean() function, Explicit Conversions
- break statements, break
- browser development tools, Exploring JavaScript
- browsing history
- Buffer class (Node), Buffers
C
- Cache API, Progressive Web Apps and Service Workers
- calendars, Formatting Dates and Times
- call() method, Indirect Invocation, The call() and apply() Methods
- callbacks
- Canvas API, Graphics in a <canvas>-Pixel Manipulation
- canvas dimensions and coordinates, Canvas Dimensions and Coordinates
- coordinate system transforms, Coordinate System Transforms-Transformation example
- drawImage() function, Media APIs
- drawing operations
- graphics attributes
- colors, patterns, and gradients, Colors, patterns, and gradients
- line styles, Line styles
- overview of, Graphics Attributes
- saving and restoring graphics state, Saving and restoring graphics state
- shadows, Shadows
- text styles, Text styles
- translucency and compositing, Translucency and compositing
- overview of, Graphics in a <canvas>
- paths and polygons, Paths and Polygons
- pixel manipulation, Pixel Manipulation
- case sensitivity, The Text of a JavaScript Program
- catch clauses, try/catch/finally-Miscellaneous Statements
- catch statements, Error Classes
- .catch() method, The catch and finally methods-The catch and finally methods
- character classes (regular expressions), Character classes
- character frequency histograms, Example: Character Frequency Histograms-Summary
- charAt() method, Strings as Arrays
- checkscope() function, Closures
- child processes (Node), Working with Child Processes-fork()
- class declaration, class
- class keyword, Classes with the class Keyword-Example: A Complex Number Class
- class methods, Static Methods
- classes
- adding methods to existing classes, Adding Methods to Existing Classes
- classes and constructors, Classes and Constructors-The constructor Property
- classes and prototypes, Classes and Prototypes
- classes with class keyword, Classes with the class Keyword-Example: A Complex Number Class
- complex number class example, Example: A Complex Number Class-Example: A Complex Number Class
- getters, setters, and other method forms, Getters, Setters, and other Method Forms
- public private, and static fields, Public, Private, and Static Fields-Public, Private, and Static Fields
- static methods, Static Methods
- modular programming with, Modules with Classes, Objects, and Closures
- naming, Reserved Words
- overview of, Overview and Definitions, Classes
- subclasses
- client-side JavaScript, JavaScript in Web Browsers
- client-side storage, Storage
- clipping, Clipping
- closest() method, Selecting elements with CSS selectors
- closures
- code bundling, Code Bundling
- code examples
- collation order, Comparing Strings
- colors, Colors, patterns, and gradients
- comma operator (,), The comma Operator (,)
- comments
- compare() method, Comparing Strings
- comparison operators, Comparison Operators
- compositing, Translucency and compositing
- compound statements, Compound and Empty Statements
- computed properties, Computed Property Names
- concat() method, Adding arrays with concat()
- conditional access operator (?.), A Tour of JavaScript, Function Invocation
- conditional invocation, Conditional Invocation, Function Invocation
- conditional operator (?:), The Conditional Operator (?:)
- conditional statements, Statements, Conditionals-switch
- configurable attribute, Introduction to Objects, Property Attributes
- Console API
- console.log() function, Hello World, Console Output
- const keyword, Declarations with let and const
- constants
- constructors
- Content-Security-Policy HTTP header, Security
- continue statements, continue
- control structures, A Tour of JavaScript-A Tour of JavaScript, Statements
- cookies
- coordinate system transforms, Coordinate System Transforms-Transformation example
- copyright symbol (\xA9), Escape Sequences in String Literals
- copyWithin() method, copyWithin()
- Credential Management API, Cryptography and Related APIs
- Cross-Origin Resource Sharing (CORS), The same-origin policy, Cross-origin requests
- cross-site scripting (XSS), Cross-site scripting
- cryptography, Arbitrary Precision Integers with BigInt, Cryptography and Related APIs
- CSS pixels, Document Coordinates and Viewport Coordinates
- CSS stylesheets
- CSSStyleDeclaration object, Inline Styles
- curly braces ({}), A Tour of JavaScript, Object and Array Initializers
- currency, Formatting Numbers
- curves, Curves
D
- data properties, Property Getters and Setters
- DataView class, DataView and Endianness
- Date type, Overview and Definitions, Dates and Times
- dates and times
- debugger statements, debugger
- declarations
- decodeURI() function, Legacy URL Functions
- decodeURIComponent() function, Legacy URL Functions
- decrement operator (--), Unary Arithmetic Operators
- delegation, Delegation Instead of Inheritance
- delete operator, The delete Operator, Deleting Properties
- denial-of-service attacks, Writing to Streams and Handling Backpressure
- destructuring assignment, Destructuring Assignment-Destructuring Assignment, Destructuring Function Arguments into Parameters-Destructuring Function Arguments into Parameters
- development tools, Exploring JavaScript
- devicemotion event, Mobile Device APIs
- deviceorientation event, Mobile Device APIs
- devicePixelRatio property, Document Coordinates and Viewport Coordinates
- dictionaries, Introduction to Objects, Objects As Associative Arrays
- directories (Node), Working with Directories
- distance() function, Function Declarations
- division operator (/), Arithmetic in JavaScript, Arithmetic Expressions
- do/while loops, do/while
- document geometry and scrolling, Document Geometry and Scrolling-Viewport Size, Content Size, and Scroll Position
- CSS pixels, Document Coordinates and Viewport Coordinates
- determining element at a point, Determining the Element at a Point
- document coordinates and viewport coordinates, Document Coordinates and Viewport Coordinates
- querying geometry of elements, Querying the Geometry of an Element
- scrolling, Scrolling
- viewport size, content size, and scroll position, Viewport Size, Content Size, and Scroll Position
- Document Object Model (DOM), The Document Object Model-Example: Generating a Table of Contents
- document structure and traversal, Document Structure and Traversal
- DocumentFragment nodes, Using Web Components
- dynamically generating tables of contents, Example: Generating a Table of Contents
- iframe elements, Document Coordinates and Viewport Coordinates
- modifying content, Element content as HTML
- modifying structure, Creating, Inserting, and Deleting Nodes
- overview of, Scripting Documents
- querying and setting attributes, Attributes
- selecting document elements, Selecting Document Elements
- shadow DOM, Shadow DOM-Shadow DOM API
- DocumentFragment nodes, Using Web Components
- documents, loading new, Loading New Documents
- dollar sign ($), Identifiers and Reserved Words
- DOMContentLoaded event, Execution of JavaScript Programs, Client-side JavaScript timeline
- dot operator (.), A Tour of JavaScript, Querying and Setting Properties
- double quotes ("), String Literals
- double slashes (//), A Tour of JavaScript, A Tour of JavaScript, Comments
- drawImage() function, Media APIs
- drawing operations
- dynamic arrays, Arrays
E
- ECMA402 standard, The Internationalization API
- ECMAScript (ES), Introduction to JavaScript
- elementFromPoint() method, Document Coordinates and Viewport Coordinates
- elements
- array elements
- document elements
- ellipse() method, Curves
- else if statements, else if
- emojis, Unicode, Escape Sequences in String Literals
- empty statements, Compound and Empty Statements
- empty strings, Text
- encodeURI() function, Legacy URL Functions
- encodeURIComponent() function, Legacy URL Functions
- English contractions, String Literals
- enumerable attribute, Introduction to Objects, Property Attributes
- equality operator (==)
- equality operators, A Tour of JavaScript
- Error classes, Error Classes
- error handling
- ES2016
- ES2017, async and await keywords, The await Operator, Asynchronous JavaScript, async and await-Implementation Details
- ES2018
- ES2019
- ES2020
- ?? operator, First-Defined (??)
- BigInt type, Arbitrary Precision Integers with BigInt
- BigInt64Array(), Typed Array Types
- BigUint64Array(), Typed Array Types
- conditional access operator (?.), A Tour of JavaScript, Property Access Errors, Function Invocation
- conditional invocation, Conditional Invocation
- globalThis, The Global Object
- import() function, Dynamic Imports with import()
- lastIndex and RegExp API, exec()
- matchAll() method, matchAll(), exec(), Implementing Iterable Objects
- operator precedence, Operator Precedence
- Promise.allSettled(), Promises in Parallel
- property access expressions, Conditional Property Access
- ES5
- ES6
- Array.of() function, Array.of()
- arrow functions, Defining Functions, Arrow Functions
- binary and octal integers, Integer Literals
- built-in tag function, Tagged template literals
- class declaration, class
- class keyword, Classes with the class Keyword-Example: A Complex Number Class
- computed properties, Computed Property Names
- extended object literal syntax, Shorthand Properties
- for/of loops, for/of-for/in
- IE11 workaround, JavaScript Modules on the Web
- iterable strings in, Text
- iterating arrays, Iterating Arrays
- Math object, Arithmetic in JavaScript
- modules in
- Promises
- property enumeration order, Property Enumeration Order
- release of, Introduction to JavaScript
- Set and Map classes, for/of with Set and Map
- shorthand methods, Shorthand Methods
- spread operator (…), The Spread Operator
- strings delimited with backticks, String Literals, Template Literals
- subclasses with extends clause, Subclasses with extends and super-Subclasses with extends and super
- Symbol type, Overview and Definitions
- symbols as property names, Symbols as Property Names
- typed arrays, Arrays
- variable declaration in, Variable Declaration and Assignment
- yield* keyword, yield* and Recursive Generators
- escape sequences
- escape() function, Legacy URL Functions
- ESLint, Linting with ESLint
- eval() function, Evaluation Expressions-Strict eval()
- evaluation expressions, Evaluation Expressions-Strict eval()
- event listeners, Events, Events
- event-driven programming model, Asynchronous JavaScript, Events-Dispatching Custom Events, Server-Sent Events
- definition of term, Asynchronous JavaScript
- dispatching custom events, Dispatching Custom Events
- event cancellation, Event Cancellation
- event categories, Event Categories
- event handler invocation, Event Handler Invocation
- event propagation, Event Propagation
- overview of, Events
- registering event handlers, Registering Event Handlers
- server-sent events, Server-Sent Events
- web platform features to investigate, Events
- EventEmitter class, Events and EventEmitter
- every() method, every() and some()
- exceptions, throwing and catching, throw
- exec() method, exec()
- exponential notation, Floating-Point Literals
- exponentiation operator (**), Arithmetic in JavaScript, Arithmetic Expressions
- export declaration, import and export
- export keyword, Modules in ES6
- expression statements, Expression Statements
- expressions
- arithmetic expressions, Arithmetic Expressions-Bitwise Operators
- assignment expressions, Assignment Expressions-Assignment with Operation
- definition of term, Expressions and Operators
- embedding within string literals, String Literals
- evaluation expressions, Evaluation Expressions-Strict eval()
- forming with operators, A Tour of JavaScript, Expressions and Operators
- function definition expressions, Function Definition Expressions
- function expressions, Function Expressions, Functions as Namespaces
- initializer expression, A Tour of JavaScript, Object and Array Initializers
- invocation expressions, Invocation Expressions-Conditional Invocation, Function Invocation-Constructor Invocation
- logical expressions, Logical Expressions-Logical NOT (!)
- new.target expression, Classes and Constructors
- object and array initializers, Object and Array Initializers
- object creation expressions, Object Creation Expressions
- primary expressions, Primary Expressions
- property access expressions, Property Access Expressions-Conditional Property Access
- relational expressions, Relational Expressions-The instanceof Operator
- versus statements, A Tour of JavaScript, Statements
- extensibility, Object Extensibility
F
- factorial() function, Function Declarations, Function Invocation
- factory functions, Classes and Prototypes
- falsy values, Boolean Values
- fetch() function, Network Events
- fetch() method
- aborting requests, Aborting a request
- cross-origin requests, Cross-origin requests
- examples of, fetch()
- file upload, File upload with fetch()
- HTTP status codes, response headers, and network errors, HTTP status codes, response headers, and network errors
- miscellaneous request options, Miscellaneous request options
- parsing response bodies, Parsing response bodies
- setting request headers, Setting request headers
- setting request parameters, Setting request parameters
- specifying request method and request body, Specifying the request method and request body
- steps of, fetch()
- streaming response bodies, Streaming response bodies
- fields, public, private, and static, Public, Private, and Static Fields
- file handling (Node), Working with Files-Working with Directories
- directories, Working with Directories
- file metadata, File Metadata
- file mode strings, Writing Files
- file operations, File Operations
- overview of, Working with Files
- paths, file descriptors, and FileHandles, Paths, File Descriptors, and FileHandles
- reading files, Reading Files
- writing files, Writing Files
- fill() method, fill()
- filter() method, filter()
- .finally() method, The catch and finally methods-The catch and finally methods
- financial account numbers, Storage
- find() method, find() and findIndex()
- findIndex() method, find() and findIndex()
- Firefox Developer Tools, Exploring JavaScript
- first-defined operator (??), First-Defined (??)
- flat() method, Flattening arrays with flat() and flatMap()
- flatMap() method, Flattening arrays with flat() and flatMap()
- floating-point literals, Floating-Point Literals, Binary Floating-Point and Rounding Errors
- Flow language extension, Type Checking with Flow-Enumerated Types and Discriminated Unions
- array types, Array Types
- class types, Class Types
- enumerated types and discriminated unions, Enumerated Types and Discriminated Unions
- function types, Function Types
- installing and running, Installing and Running Flow
- object types, Object Types
- other parameterized types, Other Parameterized Types
- overview of, Type Checking with Flow
- read-only types, Read-Only Types
- type aliases, Type Aliases
- TypeScript versus Flow, Type Checking with Flow
- union types, Union Types
- using type annotations, Using Type Annotations
- for loops, for, Iterating Arrays
- for/await loops, Asynchronous iteration with for/await, Asynchronous Iteration
- for/in loops, for/in, Enumerating Properties
- for/of loops, Text, for/of-for/in, Iterating Arrays, Iterators and Generators
- forEach() method, Iterating Arrays, forEach()
- format() method, Formatting Numbers
- fractions, Formatting Numbers
- fromData() method, Parsing response bodies
- front-end JavaScript, JavaScript in Web Browsers
- fs module (Node), Working with Files-Working with Directories
- function declaration, function
- function expressions, Function Expressions, Functions as Namespaces
- function keyword, Defining Functions
- Function() constructor, The Function() Constructor
- function* keyword, Generators
- functions
- arrow functions, A Tour of JavaScript, Defining Functions, Arrow Functions
- case sensitivity, The Text of a JavaScript Program
- closures, Closures-Closures
- defining, Defining Functions-Nested Functions
- defining your own function properties, Defining Your Own Function Properties
- factory functions, Classes and Prototypes
- function arguments and parameters
- function definition expressions, Function Definition Expressions
- function invocation, Creating Objects with new
- function properties, methods, and constructor, Function Properties, Methods, and Constructor-The Function() Constructor
- functional programming
- functions as namespaces, Functions as Namespaces
- functions as values, Functions as Values-Defining Your Own Function Properties
- invoking
- naming, Reserved Words
- overview of, Overview and Definitions, Functions
- recursive functions, Function Invocation
- shorthand syntax for, A Tour of JavaScript
- static array functions, Static Array Functions
G
- garbage collection, Overview and Definitions
- generator functions, Generators, The Return Value of a Generator Function (see also iterators and generators)
- Geolocation API, Mobile Device APIs
- getBoundingClientRect() method, Document Coordinates and Viewport Coordinates
- getRandomValues() method, Cryptography and Related APIs
- getter methods, Property Getters and Setters, Getters, Setters, and other Method Forms
- global eval(), Global eval()
- global object, The Global Object, The Global Object in Web Browsers
- global variables, Variable and constant scope
- gradients, Colors, patterns, and gradients
- graphics
- greater than operator (>)
- greater than or equal to operator (>=)
H
- hashchange events, History Management with hashchange Events
- hashtables, Introduction to Objects, Objects As Associative Arrays
- hasOwnProperty operator, Testing Properties
- Hello World, Hello World, Console Output
- hexadecimal literals, Integer Literals, Escape Sequences in String Literals
- higher-order functions, Higher-Order Functions
- histograms, character frequency, Example: Character Frequency Histograms-Summary
- history.pushState() method, History Management with pushState()
- history.replaceState() method, History Management with pushState()
- hoisting, Variable Declarations with var
- HTML <script> tags, JavaScript in HTML <script> Tags-Loading scripts on demand
- HTML <template> tag, HTML Templates
- HTML code, single and double quotes in, String Literals
- HTTP clients and servers, HTTP Clients and Servers-HTTP Clients and Servers
I
- identifiers
- ideographs, Unicode
- if statements, if-if
- if/else statement, Boolean Values
- images
- immediately invoked function expression, Functions as Namespaces
- immutability, Working with Strings, Immutable Primitive Values and Mutable Object References
- implicit function invocation, Implicit Function Invocation
- import declaration, import and export
- import keyword, Modules in ES6
- import() function, Dynamic Imports with import()
- import.meta.url, import.meta.url
- in operator, The in Operator, Testing Properties
- includes() method, includes()
- increment operator (++), Unary Arithmetic Operators
- index position, Arrays, Reading and Writing Array Elements
- IndexedDB, IndexedDB-Worker Threads and Messaging
- indexOf() method, indexOf() and lastIndexOf()
- indirect invocation, Indirect Invocation
- inequality operator (!==)
- infinity value, Arithmetic in JavaScript
- inheritance, Introduction to Objects, Inheritance, Delegation Instead of Inheritance
- initializer expression, A Tour of JavaScript, Object and Array Initializers
- instance methods, Static Methods
- instanceof operator, The instanceof Operator, Constructors, Class Identity, and instanceof
- integer literals, Integer Literals
- internationalization API
- interpolation, String Literals
- Intl.DateTimeFormat class, Formatting Dates and Times-Formatting Dates and Times
- Intl.NumberFormat class, Formatting Numbers-Formatting Numbers
- invocation expressions
- isFinite() function, Arithmetic in JavaScript
- isNaN() function, Arithmetic in JavaScript
- iterators and generators (see also array iterator methods)
J
- JavaScript
- benefits of, Introduction to JavaScript, Summary
- introduction to
- chapter overviews, A Tour of JavaScript, A Tour of JavaScript
- character frequency histograms, Example: Character Frequency Histograms-Summary
- Hello World, Hello World
- history of, JavaScript in Web Browsers
- JavaScript interpreters, Exploring JavaScript
- lexical structure, Lexical Structure-Summary
- names, versions, and modes, Introduction to JavaScript
- syntax and capabilities, A Tour of JavaScript-A Tour of JavaScript
- reference documentation, Preface
- JavaScript standard library
- Console API, The Console API-Formatted Output with Console
- dates and times, Dates and Times-Formatting and Parsing Date Strings
- error classes, Error Classes-Error Classes
- internationalization API, The Internationalization API-Comparing Strings
- JSON serialization and parsing, JSON Serialization and Parsing-JSON Customizations
- overview of, The JavaScript Standard Library
- pattern matching, Pattern Matching with Regular Expressions-exec()
- sets and maps, Sets and Maps-WeakMap and WeakSet
- timers, Timers-Timers
- typed arrays and binary data, Typed Arrays and Binary Data-DataView and Endianness
- URL APIs, URL APIs-Legacy URL Functions
- Jest, Unit Testing with Jest
- join() method, Array to String Conversions
- JSON serialization and parsing, JSON Serialization and Parsing-JSON Customizations
- JSON.parse() function, Serializing Objects, JSON Serialization and Parsing
- JSON.stringify() function, Serializing Objects, The toJSON() Method, JSON Serialization and Parsing
- JSX language extension, JSX: Markup Expressions in JavaScript-JSX: Markup Expressions in JavaScript
- jump statements, Statements, Jumps-try/catch/finally
K
- keywords
- async keyword, async and await-Implementation Details
- await keyword, async and await-Implementation Details
- case sensitivity, The Text of a JavaScript Program
- class keyword, Classes with the class Keyword-Example: A Complex Number Class
- const keyword, Declarations with let and const
- export keyword, Modules in ES6
- function keyword, Defining Functions
- function* keyword, Generators
- import keyword, Modules in ES6
- let keyword, A Tour of JavaScript, Declarations with let and const, const, let, and var
- new keyword, Creating Objects with new, Constructor Invocation
- reserved words, Reserved Words, Primary Expressions
- this keyword, A Tour of JavaScript, Primary Expressions, Function Invocation
- var keyword, Variable Declarations with var, const, let, and var
- yield* keyword, yield* and Recursive Generators
- Koch snowflakes, Transformation example
L
- labeled statements, Labeled Statements
- lastIndex property, exec()
- lastIndexOf() method, indexOf() and lastIndexOf()
- less than operator (<)
- less than or equal to operator (<=)
- let keyword, A Tour of JavaScript, Declarations with let and const, const, let, and var
- lexical scoping, Closures
- lexical structure, Lexical Structure-Summary
- line breaks, The Text of a JavaScript Program, Optional Semicolons-Optional Semicolons
- line styles, Line styles
- line terminators, The Text of a JavaScript Program
- linting tools, Linting with ESLint
- literals
- little-endian architecture, DataView and Endianness
- load event, Execution of JavaScript Programs
- localStorage property, localStorage and sessionStorage
- location property, Location, Navigation, and History
- logical operators, A Tour of JavaScript, Logical Expressions-Logical NOT (!)
- lookbehind assertions, Specifying match position
- looping statements
- do/while loops, do/while
- for loops, for, Iterating Arrays
- for/await loops, Asynchronous iteration with for/await, Asynchronous Iteration
- for/in loops, for/in, Enumerating Properties
- for/of loops, for/of-for/in, Iterating Arrays, Iterators and Generators
- purpose of, Statements
- while loops, while
- lvalue, Operand and Result Type
M
- magnetometers, Mobile Device APIs
- Mandelbrot set, Example: The Mandelbrot Set-Summary and Suggestions for Further Reading
- Map class, for/of with Set and Map, The Map Class-The Map Class
- Map objects, Overview and Definitions, The Map Class
- map() method, map()
- marshaling, JSON Serialization and Parsing
- match() method, match()
- matchAll() method, matchAll()
- matches() method, Selecting elements with CSS selectors
- Math.pow function, Arithmetic Expressions
- mathematical operations, Arithmetic in JavaScript-Arithmetic in JavaScript
- MDN website, Preface
- media APIs, Media APIs
- memoization, Memoization
- memory management, Overview and Definitions
- message events, Client-side JavaScript threading model, Events, Server-Sent Events, Worker Objects-The Global Object in Workers, Worker Execution Model-postMessage(), MessagePorts, and MessageChannels, Cross-Origin Messaging with postMessage(), fork()-Worker Threads, Communication Channels and MessagePorts, Enumerated Types and Discriminated Unions
- MessageChannels, postMessage(), MessagePorts, and MessageChannels
- MessagePort objects, postMessage(), MessagePorts, and MessageChannels, Communication Channels and MessagePorts
- messaging
- WebSocket API
- worker threads and messaging, Worker Threads and Messaging-Cross-Origin Messaging with postMessage()
- cross-origin messaging, Cross-Origin Messaging with postMessage(), Cross-Origin Messaging with postMessage()
- execution model, Worker Execution Model
- importing code, Importing Code into a Worker
- Mandelbrot set example, Example: The Mandelbrot Set-Summary and Suggestions for Further Reading
- modules, Importing Code into a Worker
- overview of, Worker Threads and Messaging
- postMessage(), MessagePorts and MessageChannels, postMessage(), MessagePorts, and MessageChannels
- Worker objects, Worker Objects
- WorkerGlobalScope object, The Global Object in Workers
- metaprogramming, Metaprogramming
- methods
- adding methods to existing classes, Adding Methods to Existing Classes
- array methods
- class versus instance methods, Static Methods
- creating, A Tour of JavaScript
- definition of term, Functions, Method Invocation
- method chaining, Method Invocation
- method invocation, Invocation Expressions, Method Invocation-Method Invocation
- shorthand methods, Getters, Setters, and other Method Forms
- shorthand syntax, Shorthand Methods
- static methods, Static Methods
- typed array methods, Typed Array Methods and Properties
- minus sign (-)
- mobile device APIs, Mobile Device APIs
- modules
- automating closure-based modularity, Automating Closure-Based Modularity
- in ES6
- fs module (Node), Working with Files-Working with Directories
- import and export directives, Modules
- in Node, Modules in Node-Node-Style Modules on the Web, Node Modules
- overview of, Modules
- purpose of, Modules
- using in workers, Importing Code into a Worker
- with classes, objects, and closures, Modules with Classes, Objects, and Closures-Automating Closure-Based Modularity
- modulo operator (%), Arithmetic in JavaScript, Arithmetic Expressions
- multiplication operator (*), Arithmetic in JavaScript, Expressions and Operators, Arithmetic Expressions
- multithreaded programming, Node Is Asynchronous by Default, Worker Threads
- mutability, Overview and Definitions, Introduction to Objects
N
- named capture groups, Alternation, grouping, and references
- NaN (not-a-number value), Arithmetic in JavaScript
- navigator.mediaDevices.getUserMedia() function, Media APIs
- navigator.vibrate() method, Mobile Device APIs
- negative infinity value, Arithmetic in JavaScript
- negative zero, Arithmetic in JavaScript
- nested functions, Nested Functions
- network events, Network Events
- networking, Networking-Protocol negotiation
- fetch() method
- aborting requests, Aborting a request
- cross-origin requests, Cross-origin requests
- examples of, fetch()
- file upload, File upload with fetch()
- HTTP status codes, response headers, and network errors, HTTP status codes, response headers, and network errors
- miscellaneous request options, Miscellaneous request options
- parsing response bodies, Parsing response bodies
- setting request headers, Setting request headers
- setting request parameters, Setting request parameters
- specifying request method and request body, Specifying the request method and request body
- steps of, fetch()
- streaming response bodies, Streaming response bodies
- overview of, Networking
- server-sent events, Server-Sent Events
- WebSocket API, WebSockets
- XMLHttpRequest API (XHR), fetch()
- new keyword, Creating Objects with new, Constructor Invocation
- new.target expression, Classes and Constructors
- newline (\n), String Literals, Escape Sequences in String Literals
- newlines, Optional Semicolons-Optional Semicolons
- Node
- asynchronous iteration in, The for/await Loop, Node Is Asynchronous by Default-Node Is Asynchronous by Default
- benefits of, Introduction to JavaScript, Server-Side JavaScript with Node
- BigInt type, Arbitrary Precision Integers with BigInt
- buffers, Buffers
- callbacks and events in, Callbacks and Events in Node
- child processes, Working with Child Processes-fork()
- defining feature of, Server-Side JavaScript with Node
- events and EventEmitter, Events and EventEmitter
- file handling, Working with Files-Working with Directories
- directories, Working with Directories
- file metadata, File Metadata
- file mode strings, Writing Files
- file operations, File Operations
- overview of, Working with Files
- paths, file descriptors, and FileHandles, Paths, File Descriptors, and FileHandles
- reading files, Reading Files
- writing files, Writing Files
- HTTP clients and servers, HTTP Clients and Servers-HTTP Clients and Servers
- installing, Exploring JavaScript, Server-Side JavaScript with Node
- Intl API, The Internationalization API
- modules in, Modules in Node-Node-Style Modules on the Web
- non-HTTP network servers and clients, Non-HTTP Network Servers and Clients
- parallelism with, Node Is Asynchronous by Default
- process details, Process, CPU, and Operating System Details
- programming basics, Node Programming Basics-The Node Package Manager
- reference documentation, Preface
- streams, Streams-Paused mode
- worker threads, Worker Threads-Sharing Typed Arrays Between Threads
- NodeLists, Selecting elements with CSS selectors
- non-inherited properties, Introduction to Objects
- non-strict inequality operator (!=)
- normalization, Unicode Normalization
- not-a-number value (NaN), Arithmetic in JavaScript
- Notifications API, Progressive Web Apps and Service Workers
- npm package manager, Package Management with npm
- null values, null and undefined
- nullish coalescing operator (??), First-Defined (??)
- Number type
- Number() function, Explicit Conversions, Explicit Conversions
- Number.isFinite() function, Arithmetic in JavaScript
- numbers, formatting for internationalization, Formatting Numbers-Formatting Numbers
- numeric literals, Numbers
O
- object literals
- object property names, Reading and Writing Array Elements
- object-oriented programming
- Object.assign() function, Extending Objects
- Object.create() function, Object.create(), Property Attributes
- Object.defineProperties() method, Property Attributes
- Object.defineProperty() method, Property Attributes
- Object.entries() method, for/of with objects
- Object.getOwnPropertyNames() function, Enumerating Properties
- Object.getOwnPropertySymbols() function, Enumerating Properties
- Object.keys method, for/of with objects
- Object.keys() function, Enumerating Properties
- Object.prototype, Prototypes, Object Methods
- objects
- Arguments object, The Arguments Object
- array-like objects, Array-Like Objects-Array-Like Objects
- creating, Creating Objects-Object.create()
- deleting properties, Deleting Properties
- enumerating properties, Enumerating Properties
- extended object literal syntax, Extended Object Literal Syntax-Property Getters and Setters
- extending objects, Extending Objects
- implementing iterable objects, Implementing Iterable Objects-Implementing Iterable Objects
- introduction to, Objects
- modular programming with, Modules with Classes, Objects, and Closures
- mutable object references, Immutable Primitive Values and Mutable Object References, Introduction to Objects
- naming properties within, Reserved Words
- object creation expressions, Object Creation Expressions
- object extensibility, Object Extensibility
- object methods, Object Methods-The toJSON() Method
- overview of, A Tour of JavaScript, Overview and Definitions-Overview and Definitions
- querying and setting properties, Querying and Setting Properties-Property Access Errors
- serializing objects, Serializing Objects
- testing properties, Testing Properties
- onmessage event, Receiving messages from a WebSocket, Worker Objects-The Global Object in Workers, postMessage(), MessagePorts, and MessageChannels, Cross-Origin Messaging with postMessage()
- operators
- arithmetic operators, A Tour of JavaScript, Arithmetic in JavaScript-Arithmetic in JavaScript, Arithmetic Expressions-Bitwise Operators
- assignment operators, Assignment Expressions-Assignment with Operation
- binary operators, Number of Operands
- comparison operators, Comparison Operators
- equality and inequality operators, Equality and Inequality Operators
- equality operators, A Tour of JavaScript
- forming expressions with, A Tour of JavaScript, Expressions and Operators
- logical operators, A Tour of JavaScript, Logical Expressions-Logical NOT (!)
- miscellaneous operators
- number of operands, Number of Operands
- operand and result type, Operand and Result Type
- operator associativity, Operator Associativity
- operator precedence, Operator Precedence
- operator side effects, Operator Side Effects
- order of evaluation, Order of Evaluation
- overview of, Operator Overview
- postfix operators, Optional Semicolons
- relational operators, A Tour of JavaScript, Relational Expressions-The instanceof Operator
- table of, Operator Overview
- ternary operators, Number of Operands
- optional semicolons, Optional Semicolons-Optional Semicolons
- overflow, Arithmetic in JavaScript
- own properties, Introduction to Objects, Inheritance
P
- package manager (Node), The Node Package Manager, Package Management with npm
- parallelization, Node Is Asynchronous by Default
- parameterization, Functions
- parseFloat() function, Explicit Conversions
- parseInt() function, Explicit Conversions
- passwords, Storage
- paths, Paths and Polygons-Paths and Polygons
- pattern matching
- defining regular expressions
- alternation, grouping, and references, Alternation, grouping, and references
- character classes, Character classes
- flags, Flags
- literal characters, Literal characters
- lookbehind assertions, Specifying match position
- named group captures, Alternation, grouping, and references
- non-greedy repetition, Non-greedy repetition
- pattern specifications, Defining Regular Expressions
- repetition characters, Repetition
- specifying match position, Specifying match position
- Unicode character classes, Character classes
- overview of, Pattern Matching with Regular Expressions
- pattern-matching symbols, Pattern-Matching Symbols
- RegExp class
- string methods for
- syntax for, Pattern Matching
- patterns, Colors, patterns, and gradients
- Payment Request API, Cryptography and Related APIs
- Performance APIs, Performance
- pickling, JSON Serialization and Parsing
- pixels, Document Coordinates and Viewport Coordinates, Pixel Manipulation
- plus sign (+)
- polygons, Paths and Polygons-Paths and Polygons
- pop() method, Stacks and Queues with push(), pop(), shift(), and unshift()
- popstate event, Event Categories, History Management with pushState()-Networking
- positive zero, Arithmetic in JavaScript
- possessives, String Literals
- postfix operators, Optional Semicolons
- postMessage() method, postMessage(), MessagePorts, and MessageChannels
- Prettier, JavaScript Formatting with Prettier
- primary expressions, Primary Expressions
- primitive types
- printprops() function, Function Declarations
- private fields, Public, Private, and Static Fields
- procedures, Functions
- programs
- Progressive Web Apps (PWAs), Progressive Web Apps and Service Workers
- Promise chains, Promises, Chaining Promises-Chaining Promises
- Promise.all() function, Promises in Parallel
- Promises
- chaining Promises, Chaining Promises-Chaining Promises
- error handling with, Handling errors with Promises, More on Promises and Errors-The catch and finally methods
- making Promises, Making Promises-Promises in Sequence
- overview of, Promises
- parallel operations, Promises in Parallel
- Promises in sequence, Promises in Sequence-Promises in Sequence
- resolving Promises, Resolving Promises-More on Promises and Errors
- returning from Promise callbacks, The catch and finally methods
- terminology, Handling errors with Promises
- using, Using Promises-Handling errors with Promises
- properties
- computed property names, Computed Property Names
- conditional property access, Conditional Property Access
- copying from one object to another, Extending Objects
- defining your own function properties, Defining Your Own Function Properties
- definition of term, Overview and Definitions
- deleting, Deleting Properties
- enumerating properties, Enumerating Properties
- inheriting, Inheritance
- naming, Symbols, Introduction to Objects, Symbols as Property Names
- non-inherited properties, Introduction to Objects
- property access errors, Property Access Errors
- property access expressions, Property Access Expressions
- property attributes, Introduction to Objects, Property Attributes-Property Attributes
- property descriptors, Property Attributes
- property getters and setters, Property Getters and Setters
- querying and setting, Querying and Setting Properties-Property Access Errors
- testing, Testing Properties
- typed array properties, Typed Array Methods and Properties
- propertyIsEnumerable() method, Testing Properties
- prototypal inheritance, Introduction to Objects, Inheritance
- prototype chains, Prototypes
- prototypes, Prototypes, Inheritance, The prototype Property, Classes and Prototypes, The prototype Attribute
- proxy invariants, Proxy Invariants
- Proxy objects, Proxy Objects-Proxy Invariants
- pseudorandom numbers, Cryptography and Related APIs
- public fields, Public, Private, and Static Fields
- Push API, Progressive Web Apps and Service Workers
- push() method, A Tour of JavaScript, Stacks and Queues with push(), pop(), shift(), and unshift()
R
- React, JSX: Markup Expressions in JavaScript
- rectangles, Rectangles
- recursive functions, Function Invocation
- recursive generators, yield* and Recursive Generators
- reduce() method, reduce() and reduceRight()
- reduceRight() method, reduce() and reduceRight()
- reference types, Immutable Primitive Values and Mutable Object References
- Reflect API, The Reflect API-The Reflect API
- Reflect.ownKeys() function, Enumerating Properties
- RegExp class
- RegExp type, Overview and Definitions, Pattern Matching, Pattern Matching with Regular Expressions (see also pattern matching)
- regular expressions, Pattern Matching with Regular Expressions
- (see also pattern matching)
- relational expressions, Relational Expressions-The instanceof Operator
- relational operators, A Tour of JavaScript
- replace() method, Working with Strings
- require() function, Node Imports
- reserved words, Reserved Words, Primary Expressions
- rest parameters, Rest Parameters and Variable-Length Argument Lists
- return statements, return
- return values, Functions
- return() method, “Closing” an Iterator: The Return Method, The return() and throw() Methods of a Generator
- reverse() method, A Tour of JavaScript, reverse()
- rounding errors, Binary Floating-Point and Rounding Errors
S
- same-origin policy, The same-origin policy
- scalable vector graphics (SVG), SVG: Scalable Vector Graphics-Creating SVG Images with JavaScript
- ScreenOrientation API, Mobile Device APIs
- scroll offsets, Document Coordinates and Viewport Coordinates
- scrolling, Scrolling
- scrollTo() method, Scrolling
- search() method, String Methods for Pattern Matching
- security
- client-side storage, Storage
- competing goals of web programming, The Web Security Model
- Cross-Origin Resource Sharing (CORS), The same-origin policy, Cross-origin requests
- cross-site scripting (XSS), Cross-site scripting
- cryptography APIs, Cryptography and Related APIs
- defense against malicious code, What JavaScript can’t do
- denial-of-service attacks, Writing to Streams and Handling Backpressure
- same-origin policy, The same-origin policy
- web platform features to investigate, Security
- semicolon (;), Optional Semicolons-Optional Semicolons
- sensitive information, Storage
- Sensor API, Mobile Device APIs
- serialization, Serializing Objects, JSON Serialization and Parsing, History Management with pushState()
- server-sent events, Server-Sent Events-Server-Sent Events
- server-side JavaScript, JavaScript in Web Browsers, Server-Side JavaScript with Node
- ServiceWorkers, Progressive Web Apps and Service Workers
- sessionStorage property, localStorage and sessionStorage
- Set class, for/of with Set and Map, The Set Class-The Set Class
- Set objects, Overview and Definitions
- Set() constructor, The Set Class
- setInterval() function, Timers
- sets and maps
- setter methods, Property Getters and Setters, Getters, Setters, and other Method Forms
- setTimeout() function, Timers, Timers
- setTransform() method, Coordinate System Transforms
- shadow DOM, Shadow DOM-Shadow DOM API
- shadows, Shadows
- shift left operator (<<), Bitwise Operators
- shift right with sign operator (>>), Bitwise Operators
- shift right with zero fill operator (>>>), Bitwise Operators
- shift() method, Stacks and Queues with push(), pop(), shift(), and unshift()
- shorthand methods, Shorthand Methods, Getters, Setters, and other Method Forms
- side effects, Operator Side Effects
- single quotes ('), String Literals
- slice() method, slice()
- some() method, every() and some()
- sort order, Comparing Strings
- sort() method, Conditional Invocation, sort()
- sparse arrays, Arrays, Sparse Arrays
- splice() method, splice()
- split() method, split()
- spread operator (…), Spread Operator, The Spread Operator, The Spread Operator for Function Calls, Iterators and Generators
- square brackets ([]), A Tour of JavaScript, Working with Strings, Object and Array Initializers, Querying and Setting Properties, Reading and Writing Array Elements, Strings as Arrays
- standard library (see JavaScript standard library)
- statement blocks, Compound and Empty Statements
- statements (see also declarations)
- compound and empty statements, Compound and Empty Statements
- conditional statements, Statements, Conditionals-switch
- control structures, A Tour of JavaScript-A Tour of JavaScript, Statements
- expression statements, Expression Statements
- versus expressions, A Tour of JavaScript
- if/else statement, Boolean Values
- jump statements, Statements, Jumps-try/catch/finally
- line breaks and, Optional Semicolons-Optional Semicolons
- list of, Summary of JavaScript Statements
- loops, Statements, Loops-for/in
- miscellaneous statements
- overview of, Statements
- separating with semicolons, Optional Semicolons-Optional Semicolons
- throw statements, throw
- try/catch/finally statements, try/catch/finally-try/catch/finally
- yield statements, yield, The Value of a yield Expression
- static fields, Public, Private, and Static Fields
- static methods, Static Methods
- storage, Storage-IndexedDB
- streams (Node), Streams-Paused mode
- strict equality operator (===)
- strict mode
- default application of, Classes with the class Keyword, Modules in ES6, JavaScript Modules on the Web
- delete operator and, The delete Operator
- deleting properties, Deleting Properties
- eval() function, Strict eval()
- function declarations, Function Declarations
- function invocation, Function Invocation
- versus non-strict mode, “use strict”-“use strict”
- opting into, Introduction to JavaScript
- TypeError, Property Access Errors, Object Extensibility
- undeclared variables and, Variable Declarations with var
- with statement and, with, Setting event handler attributes
- string literals
- String() function, Explicit Conversions
- String.raw() function, Tagged template literals
- strings
- structured clone algorithm, History Management with pushState()
- subarrays, Subarrays with slice(), splice(), fill(), and copyWithin()
- subclasses
- subroutines, Functions
- subtraction operator (-), Arithmetic in JavaScript
- surrogate pairs, Text
- SVG (see scalable vector graphics (SVG))
- switch statements, switch-switch
- Symbol.asyncIterator, Symbol.iterator and Symbol.asyncIterator
- Symbol.hasInstance, Symbol.hasInstance
- Symbol.isConcatSpreadable, Symbol.isConcatSpreadable
- Symbol.iterator, Well-Known Symbols
- Symbol.species, Symbol.species-Symbol.species
- Symbol.toPrimitive, Symbol.toPrimitive
- Symbol.toStringTag, Symbol.toStringTag
- Symbol.unscopables, Symbol.unscopables
- Symbols
- synchronous script execution, When scripts run: async and deferred
- syntax
- control structures, A Tour of JavaScript-A Tour of JavaScript
- declaring variables, A Tour of JavaScript
- English-language comments, A Tour of JavaScript, A Tour of JavaScript
- equality and relational operators, A Tour of JavaScript
- expressions
- extended for object literals, Extended Object Literal Syntax-Property Getters and Setters
- functions, A Tour of JavaScript
- lexical structure, Lexical Structure-Summary
- case sensitivity, The Text of a JavaScript Program
- comments, Comments
- identifiers, The Text of a JavaScript Program-Identifiers and Reserved Words
- line breaks, The Text of a JavaScript Program
- literals, Literals
- reserved words, Reserved Words, Primary Expressions
- semicolons, Optional Semicolons-Optional Semicolons
- spaces, The Text of a JavaScript Program
- Unicode character set, Unicode Escape Sequences-Unicode Normalization
- logical operators, A Tour of JavaScript
- methods, A Tour of JavaScript
- objects
- shorthand methods, Shorthand Methods
- statements, A Tour of JavaScript
- variables, assigning values to, A Tour of JavaScript
T
- tabs, The Text of a JavaScript Program
- tagged template literals, Tagged template literals, Template Tags
- template literals, Template Literals, Template Tags
- ternary operators, Number of Operands
- test() method, test()
- text
- text editors
- text styles, Text styles
- .then() method, Using Promises, Chaining Promises, More on Promises and Errors
- this keyword, A Tour of JavaScript, Primary Expressions, Function Invocation
- threading, Worker Threads and Messaging, Progressive Web Apps and Service Workers (see also Worker API)
- 3D graphics, Graphics in a <canvas>
- throw statements, throw, Error Classes
- throw() method, The return() and throw() Methods of a Generator
- time zones, Formatting Dates and Times
- timers, Timers, Timers
- timestamps, Dates and Times, Timestamps
- toDateString() method, Formatting and Parsing Date Strings
- toExponential() method, Explicit Conversions
- toFixed() method, Explicit Conversions
- toISOString() method, Formatting and Parsing Date Strings, JSON Customizations
- toJSON() method, The toJSON() Method, JSON Customizations
- toLocaleDateString() method, Formatting and Parsing Date Strings, Formatting Dates and Times
- toLocaleString() method, The toLocaleString() Method, Array to String Conversions, Formatting and Parsing Date Strings
- toLocaleTimeString() method, Formatting and Parsing Date Strings, Formatting Dates and Times
- tools and extensions, JavaScript Tools and Extensions-Enumerated Types and Discriminated Unions
- code bundling, Code Bundling
- JavaScript formatting with Prettier, JavaScript Formatting with Prettier
- JSX language extension, JSX: Markup Expressions in JavaScript-JSX: Markup Expressions in JavaScript
- linting with ESLint, Linting with ESLint
- overview of, JavaScript Tools and Extensions
- package management with npm, Package Management with npm
- transpilation with Babel, Transpilation with Babel
- type checking with Flow, Type Checking with Flow-Enumerated Types and Discriminated Unions
- array types, Array Types
- class types, Class Types
- enumerated types and discriminated unions, Enumerated Types and Discriminated Unions
- function types, Function Types
- installing and running, Installing and Running Flow
- object types, Object Types
- other parameterized types, Other Parameterized Types
- overview of, Type Checking with Flow
- read-only types, Read-Only Types
- type aliases, Type Aliases
- TypeScript versus Flow, Type Checking with Flow
- union types, Union Types
- using type annotations, Using Type Annotations
- unit testing with Jest, Unit Testing with Jest
- toPrecision() method, Explicit Conversions
- toString() method, Boolean Values, Explicit Conversions, The toString() and valueOf() methods, The + Operator, Equality with type conversion, The toString() Method, The toString() Method, Formatting and Parsing Date Strings
- toTimeString() method, Formatting and Parsing Date Strings
- toUpperCase() method, Working with Strings
- toUTCString() method, Formatting and Parsing Date Strings
- transformations, Coordinate System Transforms-Transformation example
- translate() method, Coordinate System Transforms
- translucency, Translucency and compositing
- transpilation, Transpilation with Babel
- truthy values, Boolean Values
- try/catch/finally statements, try/catch/finally-try/catch/finally
- type checking, Type Checking with Flow-Enumerated Types and Discriminated Unions
- array types, Array Types
- class types, Class Types
- enumerated types and discriminated unions, Enumerated Types and Discriminated Unions
- function types, Function Types
- installing and running Flow, Installing and Running Flow
- object types, Object Types
- other parameterized types, Other Parameterized Types
- overview of, Type Checking with Flow
- read-only types, Read-Only Types
- type aliases, Type Aliases
- TypeScript versus Flow, Type Checking with Flow
- union types, Union Types
- using type annotations, Using Type Annotations
- type conversions
- typed arrays
- typeof operator, The typeof Operator
- types
- global object, The Global Object-The Global Object
- Number type, Numbers-Dates and Times
- objects (see objects)
- overview of, Types, Values, and Variables-Overview and Definitions
- primitive, Overview and Definitions
- RegExp, Pattern Matching-Pattern Matching
- strings, Text-Tagged template literals
- Symbols, Symbols-Symbols
- type conversions, Type Conversions-Object-to-primitive conversion algorithms
- TypeScript, Type Checking with Flow
U
- Uint8Array, Typed Array Types, Streaming response bodies, Buffers
- unary operators
- undeclared variables, Variable Declarations with var
- undefined values, null and undefined
- underflow, Arithmetic in JavaScript
- underscore (_), Identifiers and Reserved Words
- underscores, as numeric separators (_), Floating-Point Literals
- unescape() function, Legacy URL Functions
- unhandledrejection event, Program Errors
- Unicode character set
- unit testing, Unit Testing with Jest
- unshift() method, Stacks and Queues with push(), pop(), shift(), and unshift()
- URL APIs, URL APIs-Legacy URL Functions
- use strict directive
- default application of strict mode, Classes with the class Keyword, Modules in ES6, JavaScript Modules on the Web
- delete operator and, The delete Operator
- eval() function, Strict eval()
- function declarations, Function Declarations
- function invocation, Function Invocation
- opting into strict mode, Introduction to JavaScript
- strict versus non-strict mode, “use strict”-“use strict”
- TypeError, Property Access Errors, Object Extensibility
- undeclared variables and, Variable Declarations with var
- with statement and, with, Setting event handler attributes
- use strict mode, Introduction to JavaScript
- UTF-16 encoding, Text
V
- valueOf() method, The toString() and valueOf() methods, The valueOf() Method
- values
- assigning, A Tour of JavaScript
- boolean values, Boolean Values-Boolean Values
- falsy and truthy, Boolean Values
- functions as values, Functions as Values-Defining Your Own Function Properties
- immutable primitive values, Immutable Primitive Values and Mutable Object References
- null and undefined, null and undefined
- overview of, Types, Values, and Variables-Overview and Definitions
- types of, A Tour of JavaScript
- var keyword, Variable Declarations with var, const, let, and var
- varargs, Rest Parameters and Variable-Length Argument Lists
- variable arity functions, Rest Parameters and Variable-Length Argument Lists
- variables
- variadic functions, Rest Parameters and Variable-Length Argument Lists
- video streams, Media APIs
- viewport, Document Coordinates and Viewport Coordinates, Viewport Size, Content Size, and Scroll Position
- void operator, The void Operator
W
- WeakMap class, WeakMap and WeakSet
- WeakSet class, WeakMap and WeakSet
- Web Authentication API, Cryptography and Related APIs
- web browser host environment
- asynchronous APIs, Events
- audio APIs, Audio APIs-The WebAudio API
- benefits of JavaScript, JavaScript in Web Browsers
- Canvas API, Graphics in a <canvas>-Pixel Manipulation
- document geometry and scrolling, Document Geometry and Scrolling-Viewport Size, Content Size, and Scroll Position
- CSS pixels, Document Coordinates and Viewport Coordinates
- determining element at a point, Determining the Element at a Point
- document coordinates and viewport coordinates, Document Coordinates and Viewport Coordinates
- querying geometry of elements, Querying the Geometry of an Element
- scrolling, Scrolling
- viewport size, content size, and scroll position, Viewport Size, Content Size, and Scroll Position
- events, Events-Dispatching Custom Events
- legacy APIs, JavaScript in Web Browsers
- location, navigation, and history, Location, Navigation, and History-History Management with pushState()
- Mandelbrot set example, Example: The Mandelbrot Set-Summary and Suggestions for Further Reading
- module-aware browsers, JavaScript Modules on the Web
- networking, Networking-Protocol negotiation
- overview of, JavaScript in Web Browsers
- scalable vector graphics (SVG), SVG: Scalable Vector Graphics-Creating SVG Images with JavaScript
- scripting CSS, Scripting CSS-CSS Animations and Events
- scripting documents, Scripting Documents-Example: Generating a Table of Contents
- storage, Storage-IndexedDB
- web components, Web Components-Example: a <search-box> Web Component
- web platform features to investigate
- binary APIs, Binary APIs
- cryptography and security APIs, Cryptography and Related APIs
- events, Events
- HTML and CSS, HTML and CSS
- media APIs, Media APIs
- mobile device APIs, Mobile Device APIs
- Performance APIs, Performance
- Progressive Web Apps and ServiceWorkers, Progressive Web Apps and Service Workers
- security, Security
- WebAssembly, WebAssembly
- Window and Document object features, More Document and Window Features
- web programming basics
- worker threads and messaging, Worker Threads and Messaging-Cross-Origin Messaging with postMessage()
- web developer tools, Exploring JavaScript
- Web Manifest, Progressive Web Apps and Service Workers
- Web Workers API, Client-side JavaScript threading model, Worker Threads
- WebAssembly, WebAssembly
- WebAudio API, The WebAudio API
- WebRTC API, Media APIs
- WebSocket API
- while loops, while
- with statements, Miscellaneous Statements
- Worker API
- cross-origin messaging, Cross-Origin Messaging with postMessage()
- errors, Errors in Workers
- execution model, Worker Execution Model
- importing code, Importing Code into a Worker
- Mandelbrot set example, Example: The Mandelbrot Set-Summary and Suggestions for Further Reading
- modules, Importing Code into a Worker
- overview of, Worker Threads and Messaging
- postMessage(), MessagePorts and MessageChannels, postMessage(), MessagePorts, and MessageChannels
- Worker objects, Worker Objects
- WorkerGlobalScope object, The Global Object in Workers
- writable attribute, Introduction to Objects, Property Attributes