Tech Learning Collective

Technology education for radical organizers and revolutionary communities.

Developing Digital Dexterity: Introduction to JavaScript

Poster for Developing Digital Dexterity: Introduction to JavaScript

The JavaScript programming language began as a way to change the content on a Web page without having to reload it. While it’s still most often thought of that way, JavaScript has evolved considerably since its birth in 1995. Today, JavaScript can be found in everything from the microchips controlling smarthome devices to embedded scripts inside office documents like Microsoft Word or Google Sheets, and beyond. This workshop highlights JavaScript as a language proper, distinct from the influences of a Web browser or other specific environment so that you can get familiar with the core of JavaScript itself, like its idiosyncratic data typing, scoping, and inheritance schemes that are important to know regardless of whether you’re building Web sites, game interfaces, or any other kind of code.

Detailed description

Over the course of ten days in 1995, the Web changed forever when Brendan Eich was hired by Netscape, Inc. and developed a programming language that could be embedded in Web pages. Briefly named LiveScript, the language became known as JavaScript three months later, and was officially standardized as ECMAScript in 1997 after taking the Internet by storm only two years later. Today, JavaScript is arguably the single most popular and prolific high-level language available to many people for many projects.

Although most people know of JavaScript as the programming language of the Web, where its capabilities have increased dramatically over the years, many other environments outside of the Web browser or traditional Web application now embed or rely on JavaScript engines to work. Entire back-end applications can be created with “server-side JavaScript” (Node.js, RingoJS); Internet-of-Things (IoT) devices like sensors and larger microcontrollers offer JavaScript scriptable interfaces (Espruino, low.js); mundane office jobs and “paperwork” can be accomplished in JavaScript (OpenOffice/LibreOffice Script Provider, Google Apps Script, Microsoft Office JavaScript API); JavaScript can be used to write smart contracts for blockchain-based distributed ledger technologies (Hyperledger Fabric); desktop and PC game programming can be done entirely in JavaScript (GDevelop, Babylon.js); some other programming languages are implemented in JavaScript (Scratch); and JavaScript can even be used for macOS system automation tasks using the Open Scripting Architecture (OSA) JavaScript for Automation extension. Almost no other programming language is as easy to learn while offering the breadth of options that JavaScript does, which is one clear reason for the language’s popularity among developers and desirability among employers.

In this workshop, you’ll learn what you need to know to get started with JavaScript in any environment. By focusing on the language’s built-in constructs, you’ll be able to avoid many common pitfalls and understand what makes JavaScript tick. We’ll cover some programming basics common to all languages, but we’ll also show how JavaScript’s unusual rules (functional scope, prototype-based object inheritance, etc.) make it possible to write especially elegant—or especially dangerous—code, as well as showing you why developing even minimal proficiency with JavaScript will drastically increase your “digital dexterity” as you browse the Web.

Upcoming “Developing Digital Dexterity: Introduction to JavaScript” Events

Calendar Subscribe to our calendar. Download Download