Table of Contents
JavaScript - The Definitive Guide - Master the World's Most-Used Programming Language by David Flanagan
Return to JavaScript, JavaScript Bibliography
Publisher: O'Reilly Media; Book Purchased on May 4, 2022
Fair Use Source: B088P9Q6BB (JSDefGd 2020)
7th Edition, by David Flanagan
For web developers and other programmers interested in using JavaScript, this bestselling book provides the most comprehensive JavaScript material on the market. The seventh edition represents a significant update, with new information for ECMAScript 2020, and new chapters on language-specific features.
JavaScript: The Definitive Guide is ideal for experienced programmers who want to learn the programming language of the web, and for current JavaScript programmers who want to master it.
About This Book
JavaScript is the programming language of the web. The overwhelming majority of websites use JavaScript, and all modern web browsers—on desktops, tablets, and phones—include JavaScript interpreters, making JavaScript the most-deployed programming language in history. Over the last decade, Node.js has enabled JavaScript programming outside of web browsers, and the dramatic success of Node means that JavaScript is now also the most-used programming language among software developers. Whether you’re starting from scratch or are already using JavaScript professionally, this book will help you master the language.
If you are already familiar with other programming languages, it may help you to know that JavaScript is a high-level, dynamic, interpreted programming language that is well-suited to object-oriented and functional programming styles. JavaScript’s variables are untyped. Its syntax is loosely based on Java, but the languages are otherwise unrelated.
JavaScript derives its first-class functions from Scheme and its prototype-based inheritance from the little-known language Self. But you do not need to know any of those languages, or be familiar with those terms, to use this book and learn JavaScript.
This book covers the JavaScript language and the JavaScript APIs implemented by web browsers and by Node. I wrote it for readers with some prior programming experience who want to learn JavaScript and also for programmers who already use JavaScript but want to take their understanding to a new level and really master the language. My goal with this book is to document the JavaScript language comprehensively and definitively and to provide an in-depth introduction to the most important client-side and server-side APIs available to JavaScript programs. As a result, this is a long and detailed book. My hope, however, is that it will reward careful study and that the time you spend reading it will be easily recouped in the form of higher programming productivity.
About the Author
David Flanagan is a computer programmer who spends most of his time writing about JavaScript and Java. His books with O'Reilly include Java in a Nutshell, Java Examples in a Nutshell, Java Foundation Classes in a Nutshell, JavaScript: The Definitive Guide, and JavaScript Pocket Reference. David has a degree in computer science and engineering from the Massachusetts Institute of Technology. He lives with his wife and children in the U.S. Pacific Northwest bewteen the cities of Seattle, Washington and Vancouver, British Columbia. David has a blog at www.davidflanagan.com.
Book details
- Publication Date: May 14, 2020
- Print Length: 708 pages
- Publisher: O'Reilly Media; 7th Edition (May 14, 2020)
Preface
“This book covers the JavaScript language and the JavaScript APIs implemented by web browsers and by Node.js. I wrote it for readers with some prior programming experience who want to learn JavaScript and also for programmers who already use JavaScript but want to take their understanding to a new level and really master the language. My goal with this JavaScript book is to document the JavaScript language comprehensively and definitively and to provide an in-depth introduction to the most important client-side APIs and server-side APIs available to JavaScript programs. As a result, this is a long and detailed book. My hope, however, is that it will reward careful study and that the time you spend reading it will be easily recouped in the form of higher programming productivity.
Previous editions of this book included a comprehensive JavaScript reference section. I no longer feel that it makes sense to include that material in printed form when it is so quick and easy to find up-to-date reference material online. If you need to look up anything related to core or client-side JavaScript, I recommend you visit the MDN website. And for server-side Node APIs, I recommend you go directly to the source and consult the Node.js reference documentation.”
Example Code
Supplemental material (code examples, coding exercises, etc.) for this book is available for download at: https://oreil.ly/javascript_defgd7
Attribution
Attribution: An attribution usually includes the title, author, publisher, and ISBN. For example: “JavaScript - The Definitive Guide, Seventh Edition, by David Flanagan (O’Reilly). Copyright 2020 David Flanagan, 978-1-491-95202-3.”
Book Website and Errata
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at https://oreil.ly/javascript_defgd7.
Table of Contents
Chapter 1 - Introduction to JavaScript
- 1.4 Example: JavaScript Character Frequency Histograms
- 1.5 Summary
Chapter 2 - Lexical Structure
Chapter 3 - Types, Values, and Variables
- 3.3 JavaScript Text
- 3.10.2 Variable Declarations with var]]
- 3.11 JavaScript Summary
Chapter 4 - Expressions and Operators
- 4.10.1 JavaScript Logical AND (&&)
- 4.10.2 |)
- 4.10.3 JavaScript Logical NOT (!)
- 4.12.1 JavaScript eval()
- 4.12.2 JavaScript Global eval()
- 4.12.3 JavaScript Strict eval()
- 4.13.2 JavaScript First-Defined (
- 4.13.6 JavaScript The void Operator
- 5.3.1 JavaScript if
- 5.3.2 JavaScript else if
- 5.3.3 JavaScript switch
- 5.4 JavaScript Loops
- 5.4.1 JavaScript while
- 5.4.2 JavaScript do/while
- 5.4.3 JavaScript for
- 5.4.4 JavaScript for/of
- 5.4.5 JavaScript for/in
- 5.5 JavaScript Jumps
- 5.5.2 JavaScript break
- 5.5.3 JavaScript continue
- 5.5.4 JavaScript return
- 5.5.5 JavaScript yield
- 5.5.6 JavaScript throw
- 5.6.1 JavaScript with
- 5.6.2 JavaScript debugger
- 5.6.3 JavaScript “use strict”
- 5.7.2 JavaScript function
- 5.7.3 JavaScript class
Chapter 6 - Objects
- 6.2.3 JavaScript Prototypes
- 6.3.2 JavaScript Inheritance
- 6.10.4 JavaScript Spread Operator
- 6.10.5 JavaScript Shorthand Methods
- 7.1.4 JavaScript Array.of()
- 7.1.5 JavaScript Array.from()
- 8.8.4 JavaScript Memoization
- 9.3.4 A Complex Number Class
- 10.2.2 JavaScript Node Imports
- 10.3.2 JavaScript ES6 Imports
- 10.3.4 JavaScript Re-Exports
- 10.3.7 JavaScript import.meta.url
- 11.1.1 JavaScript The Set Class
- 11.1.2 JavaScript The Map Class
- 11.2.1 JavaScript Typed Array Types
- 11.3.3 JavaScript The RegExp Class
- 11.4.1 JavaScript Timestamps
- 11.4.2 JavaScript Date Arithmetic
- 11.7.3 JavaScript Comparing Strings
- 11.9 JavaScript URL APIs
- 11.10 JavaScript Timers
- 13.1.1 JavaScript Timers
- 13.1.2 JavaScript Events
- 13.1.3 JavaScript Network Events
- 13.2 JavaScript Promises
- 13.2.1 JavaScript Using Promises
- 13.2.2 JavaScript Chaining Promises
- 13.2.6 JavaScript Making Promises
- 13.3.1 JavaScript await Expressions
- 13.3.2 JavaScript async Functions
- 14.4.4 JavaScript Symbol.species
- 14.7.1 JavaScript Proxy Invariants
- 15.1.7 JavaScript Program Errors
- 15.2 JavaScript Events
- 15.2.1 JavaScript Event Categories
- 15.2.4 JavaScript Event Propagation
- 15.3.3 JavaScript Attributes
- 15.3.4 JavaScript Element Content
- 15.4.1 JavaScript CSS Classes
- 15.4.2 JavaScript Inline Styles
- 15.4.3 JavaScript Computed Styles
- 15.5.4 JavaScript Scrolling
- 15.6.2 JavaScript HTML Templates
- 15.6.3 JavaScript Custom Elements
- 15.6.4 JavaScript Shadow DOM
- 15.6.5 a <search-box> Web Component
- 15.7.1 JavaScript SVG in HTML
- 15.7.2 JavaScript Scripting SVG
- 15.8.6 JavaScript Clipping
- 15.9.2 JavaScript The WebAudio API
- 15.10.1 JavaScript Loading New Documents
- 15.10.2 JavaScript Browsing History
- 15.11 JavaScript Networking
- 15.11.1 JavaScript fetch()
- 15.11.2 JavaScript Server-Sent Events
- 15.11.3 JavaScript WebSockets
- 15.12 JavaScript Storage
- 15.12.2 JavaScript Cookies
- 15.12.3 JavaScript IndexedDB
- 15.13.1 JavaScript Worker Objects
- 15.14 The Mandelbrot Set
- 15.15 Summary and Suggestions for Further Reading]]
- 15.15.1 JavaScript HTML and CSS
- 15.15.2 JavaScript Performance
- 15.15.3 JavaScript Security
- 15.15.4 JavaScript WebAssembly
- 15.15.6 JavaScript Events
- 15.15.8 JavaScript Mobile Device APIs
- 15.15.9 JavaScript Binary APIs
- 15.15.10 JavaScript Media APIs
Chapter 16 - Server-Side JavaScript with Node.Js
- 16.1.1 JavaScript Console Output
- 16.1.4 JavaScript Node Modules
- 16.3 JavaScript Buffers
- 16.7.2 JavaScript Reading Files
- 16.7.3 JavaScript Writing Files
- 16.7.4 JavaScript File Operations
- 16.7.5 JavaScript File Metadata
- 16.10.2 JavaScript exec() and execFile()
- 16.10.3 JavaScript spawn()
- 16.10.4 JavaScript fork()
- 16.12 Summary
Chapter 17 - JavaScript Tools and Extensions
- 17.8.3 JavaScript Class Types
- 17.8.4 JavaScript Object Types
- 17.8.5 JavaScript Type Aliases
- 17.8.6 JavaScript Array Types
- 17.8.8 JavaScript Read-Only Types
- 17.8.9 JavaScript Function Types
- 17.8.10 JavaScript Union Types
Fair Use Sources
JavaScript: JavaScript Fundamentals, JavaScript Inventor - JavaScript Language Designer: Brendan Eich of Netscape on December 4, 1995; JavaScript DevOps - JavaScript SRE, Cloud Native JavaScript (JavaScript on Kubernetes - JavaScript on AWS - JavaScript on Azure - JavaScript on GCP), JavaScript Microservices, JavaScript Containerization (JavaScript Docker - JavaScript on Docker Hub), Serverless JavaScript, JavaScript Data Science - JavaScript DataOps - JavaScript and Databases (JavaScript ORM), JavaScript ML - JavaScript DL, Functional JavaScript (1. JavaScript Immutability, 2. JavaScript Purity - JavaScript No Side-Effects, 3. JavaScript First-Class Functions - JavaScript Higher-Order Functions, JavaScript Lambdas - JavaScript Anonymous Functions - JavaScript Closures, JavaScript Lazy Evaluation, 4. JavaScript Recursion), Reactive JavaScript), JavaScript Concurrency (WebAssembly - WASM) - JavaScript Parallel Programming - Async JavaScript - JavaScript Async (JavaScript Await, JavaScript Promises, JavaScript Workers - Web Workers, Service Workers, Browser Main Thread), JavaScript Networking, JavaScript Security - JavaScript DevSecOps - JavaScript OAuth, JavaScript Memory Allocation (JavaScript Heap - JavaScript Stack - JavaScript Garbage Collection), JavaScript CI/CD - JavaScript Dependency Management - JavaScript DI - JavaScript IoC - JavaScript Build Pipeline, JavaScript Automation - JavaScript Scripting, JavaScript Package Managers (Cloud Monk's Package Manager Book), JavaScript Modules - JavaScript Packages (NPM and JavaScript, NVM and JavaScript, Yarn Package Manager and JavaScript), JavaScript Installation (JavaScript Windows - Chocolatey JavaScript, JavaScript macOS - Homebrew JavaScript, JavaScript on Linux), JavaScript Configuration, JavaScript Observability (JavaScript Monitoring, JavaScript Performance - JavaScript Logging), JavaScript Language Spec - JavaScript RFCs - JavaScript Roadmap, JavaScript Keywords, JavaScript Operators, JavaScript Functions, JavaScript Built-In Data Types, JavaScript Data Structures - JavaScript Algorithms, JavaScript Syntax, JavaScript OOP (1. JavaScript Encapsulation - 2. JavaScript Inheritance - 3. JavaScript Polymorphism - 4. JavaScript Abstraction), JavaScript Design Patterns - JavaScript Best Practices - JavaScript Style Guide - Clean JavaScript - JavaScript BDD, JavaScript Generics, JavaScript I/O, JavaScript Serialization - JavaScript Deserialization, JavaScript APIs, JavaScript REST - JavaScript JSON - JavaScript GraphQL, JavaScript gRPC, JavaScript on the Server (Node.js-Deno-Express.js), JavaScript Virtualization, JavaScript Development Tools: JavaScript SDK, JavaScript Compiler - JavaScript Transpiler - Babel and JavaScript, JavaScript Interpreter - JavaScript REPL, JavaScript IDEs (Visual Studio Code, JavaScript Visual Studio Code, Visual Studio, JetBrains WebStorm, JetBrains JavaScript), JavaScript Debugging (Chrome DevTools), JavaScript Linter, JavaScript Community - JavaScriptaceans - JavaScript User, JavaScript Standard Library (core-js) - JavaScript Libraries (React.js-Vue.js-htmx, jQuery) - JavaScript Frameworks (Angular), JavaScript Testing - JavaScript TDD (JavaScript TDD, Selenium, Jest, Mocha.js, Jasmine, Tape Testing (test harness), Supertest, React Testing Library, Enzyme.js React Testing, Angular TestBed), JavaScript History, JavaScript Research, JavaScript Topics, JavaScript Uses - List of JavaScript Software - Written in JavaScript - JavaScript Popularity, JavaScript Bibliography - Manning JavaScript Series- JavaScript Courses, JavaScript Glossary - JavaScript Official Glossary, TypeScript, Web Browser, Web Development, HTML-CSS, JavaScript GitHub, Awesome JavaScript, JavaScript Versions. (navbar_javascript - see also navbar_web_development, navbar_javascript_versions, navbar_javascript_standard_library, navbar_javascript_libraries, navbar_javascript_reserved_words, navbar_javascript_functional, navbar_javascript_concurrency, navbar_javascript async)
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.