Jeff Bailey
Written by Jeff Bailey
Learning resources, opinions, and facts about technology.

Learn JavaScript

Reading Time: 3.2 minutes
Listen to this post

The Basics

JavaScript is an interpreted language that runs in all the major browsers and on servers through Node.js. JavaScript was created in 1995 by Brendan Eich, with the first version produced in ten days to accommodate a release of Netscape Navigator 2.0. Brendan initially aimed to bring the scheme language to the browser but was tasked with creating a language that resembled the syntax of Java.

JavaScript is used to build sophisticated single-page web applications with frameworks like React.js and Angular. It is also used to create APIs that run on a server and many other use cases.

Primary Use Cases

  • Building web and mobile applications
  • Creating backend APIs including REST and GraphQL among others
  • Creating games

Invalid Use Cases

  • Data science, use Python instead
  • Multithreading, JavaScript doesn’t have this feature

Node Package Manager

Most JavaScript developers use the Node Package Manager ( NPM ) to start a new project. Once NPM is installed you can easily manage dependencies and create self-contained modules.

To get started with NPM it is recommended to use a node version manager like nvm. Once nvm is installed you can start using the latest stable version of nodejs.

# Run these commands to create a new project
mkdir myproject
cd ./myproject
npm init # Follow the prompts; using defaults is fine the package.json file can be edited later.

By now you should have a new project you can use to begin learning.

Fundamentals

Learning the fundamentals of any language is a path to success.

Variables

I’m not pointing, you’re pointing!

Comments

I like comments.

Control Structures

Oh, mighty ECMAScript many thanks for your ample bounty of flow.

Functions

If you don’t love functions, you won’t love JavaScript.

Prototypes and Objects

All the coolkidz think objects are satan spawn. I lean heavily towards pragmatism and use the right tool for the job.

Use at your own risk if you’re worried about being at the mercy of the cool kidz.

Exception Handling

I wonder if Brendan Eich took exception to Netscape’s scheme to make it look like Java. 💭

Arrays

I like Order it’s so much better than Chaos.

Operators

I like to operate, not on a table. 🤡

There are many other constructs to learn in JavaScript.

Learn JavaScript – Beyond the Basics