Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming
by: Marijn Haverbeke (0)
Completely revised and updated, this best-selling introduction to programming in JavaScript focuses on writing real applications.
JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.
This much anticipated and thoroughly revised third edition of Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It has been updated to reflect the current state of Java¬Script and web browsers and includes brand-new material on features like class notation, arrow functions, iterators, async functions, template strings, and block scope. A host of new exercises have also been added to test your skills and keep you on track.
As with previous editions, Haverbeke continues to teach through extensive examples and immerses you in code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. You start by learning the basic structure of the JavaScript language as well as control structures, functions, and data structures to help you write basic programs. Then you'll learn about error handling and bug fixing, modularity, and asynchronous programming before moving on to web browsers and how JavaScript is used to program them. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, you'll learn how to:
- Understand the essential elements of programming, including syntax, control, and data - Organize and clarify your code with object-oriented and functional programming techniques - Script the browser and make basic web applications - Use the DOM effectively to interact with browsers - Harness Node.js to build servers and utilities
Isn't it time you became fluent in the language of the Web?
* All source code is available online in an inter¬active sandbox, where you can edit the code, run it, and see its output instantly.
Contents
Introduction
(Part 1: Language)
Values, Types, and Operators
Program Structure
Functions
Data Structures: Objects and Arrays
Higher-order Functions
The Secret Life of Objects
Project: A Robot
Bugs and Errors
Regular Expressions
Modules
Asynchronous Programming
Project: A Programming Language
(Part 2: Browser)
JavaScript and the Browser
The Document Object Model
Handling Events
Project: A Platform Game
Drawing on Canvas
HTTP and Forms
Project: A Pixel Art Editor
(Part 3: Node)
Node.js
Project: Skill-Sharing Website
The Quotes
A fragment of code that produces a value is called an expression.
The collection of bindings and their values that exist at a given time is called the environment.
There is only one value in JavaScript that is not equal to itself, and that is NaN (“not a number”).