JavaScript is a versatile and powerful programming language primarily used to create interactive and dynamic content on websites. It is one of the core technologies of the World Wide Web, alongside HTML and CSS. While HTML provides the structure of web pages and CSS controls their presentation, JavaScript brings them to life by enabling complex features and behaviors.

We just published a new JavaScript course on the freeCodeCamp.org YouTube channel that is designed to take beginners through the basics of JavaScript with clear explanations and quiz sections.

Steven Garcia created this course. While we already have a lot of JavaScript courses on our channel, Steven is an excellent teacher so we wanted to bring this course to our community.

Here are some reason you may want to learn JavaScript:

  1. Ubiquity and Demand: JavaScript is everywhere. It's supported by all modern web browsers and is used by nearly every website. Learning JavaScript makes you a versatile developer capable of working on both the client-side (front-end) and server-side (back-end) through environments like Node.js.

  2. Foundation for Other Technologies: Understanding JavaScript is important for working with various popular libraries and frameworks such as React, Angular, and Vue.js. These tools are widely used in the industry to build sophisticated web applications.

  3. Career Opportunities: Proficiency in JavaScript can significantly enhance your job prospects. As one of the most in-demand programming languages, JavaScript skills are highly sought after by employers looking to build and maintain modern, dynamic websites and applications.

  4. Versatility: JavaScript is not limited to web development. It’s also used in game development, mobile app development (using frameworks like React Native), and even in building desktop applications (using frameworks like Electron).

The course is broken into seven main sections. Here is what you will learn in each section:

Section 1: Getting Started

  • Introduction

  • What is JavaScript?

  • Setting up the Development Environment

  • Follow on social media

Section 2: JavaScript Variables

  • Variables

  • Constants

  • Primitive Types

  • Dynamic Typing

  • Objects

  • Arrays

  • Functions

  • Types of Functions

  • Summary of Variables

Section 3: JavaScript Operators

  • Intro to Operators

  • Arithmetic Operators

  • Assignment Operator

  • Comparison Operators

  • Equality Operators

  • The Ternary Operator

  • Logical Operators

  • Logical Operators with Non-booleans

  • Operator Precedence

  • Summary of Operator

Section 4: Control Flow

  • If-Else Statements

  • Switch-Case Statements

  • For Loops

  • While Loops

  • Do-while Loops

  • Infinite Loops

  • For-in Loops

  • For-of Loops

  • Break and Continue

  • Exercise: Max of two numbers

  • Exercise: FizzBuzz

  • Exercise: Even and Odd Numbers

  • Summary of Control Flow

Section 5: JavaScript Objects

  • Object Literals

  • Factory Functions

  • Constructor Functions

  • Objects are Dynamic

  • The Constructor Property

  • Functions are Objects

  • Value vs Reference types

  • Enumerating Properties of an Object

  • Cloning an Object

  • Garbage Collection

  • The Built in Math Function

  • String Methods

  • Template Literals

  • The Date Object

  • Summary of Objects

Section 6: JavaScript Arrays

  • Introduction to Arrays

  • Adding Elements

  • Finding Elements (Primitives)

  • Finding Elements (Reference Types)

  • Arrow Functions

  • Removing Elements

  • Emptying an Array

  • Combining and Slicing Arrays

  • Spread Operator

  • Iterating an Array

  • Joining Arrays

  • Sorting Arrays

  • Testing the Elements of an Array

  • Filtering an Array

  • Mapping an Array

  • Reducing an Array

Section 7: JavaScript Functions

  • Function Declarations vs Expressions

  • Hoisting

  • Arguments

  • The Rest Operator

  • Default Parameters

  • Getters and Setters

  • Try and Catch

  • Local vs Global Scope

  • Let vs Var

  • The ‘this’ keyword

Watch the entire course on the freeCodeCamp.org YouTube channel (4-hour watch).