liveBook · Manning

JavaScript

As explained in Secrets of the JavaScript Ninja, Second Edition

A high-level, dynamically typed programming language standardized as ECMAScript and commonly used for web, server-side, desktop, mobile, and other application development.

One language can carry an application developer from web pages to mobile and desktop apps, and even cloud-based serverless projects. JavaScript’s reach makes its core mechanics worth understanding—not just its familiar-looking syntax. section 1.0

JavaScript’s C-like syntax can make it seem familiar to C# or Java programmers, but its function-oriented design works differently. Treating that resemblance as proof of familiarity can hide important distinctions. section 1.1

Key mechanics include:

  • Functions are first-class objects: they can be created as literals, stored in variables, passed as arguments, and returned from other functions. section 1.1
  • A closure occurs when a function retains access to external variables used in its body. section 1.1
  • JavaScript uses prototype-based object orientation rather than the class-based approach associated with languages such as C# and Java. section 1.1

The browser is a central setting for JavaScript: client-side applications use the DOM to represent page interfaces and respond to events. Strong development practice also involves debugging, testing, and performance analysis. section 1.5

How Secrets of the JavaScript Ninja, Second Edition covers it

How deep it goes
Introduces first-class functions, closures, scopes, and prototypes, while deferring detailed treatment of functions and scopes.
Examples
Contrasts Bob’s multi-language career with Ann’s JavaScript web, mobile, desktop, and serverless projects.
What you can do after
Understand core JavaScript mechanics and browser infrastructure for developing applications across domains.
How it connects
Connects JavaScript to functions, closures, scopes, prototypes, the DOM, and event-driven browser applications.

Also explained in

Compare how 12 books explain JavaScript →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Secrets of the JavaScript Ninja, Second Edition. The section links point to the parts of the book it draws on.