JetBrains Academy logo
Free courseJetBrains Academy

Introduction to JavaScript Programming

Learn JavaScript for the real world—in a professional IDE tailored for learners.

Skill levelBeginner
Time to complete 15-20 hours
Skill levelBeginner
Time to complete 15-20 hours

About this course

This course is your beginner-friendly launchpad into JavaScript, the language that powers the modern web.

You'll start with the basics: variables, data types, conditions, and loops. Then, you'll progress into arrays, objects, functions, and classes, building practical skills as you go. By the end, you’ll tackle advanced topics like closures, error handling, and asynchronous programming using promises and async/await. All supported by in-IDE guidance.

Your result: the skills to build interactive websites, learn popular frameworks like React, work in a professional IDE, and confidently take your next steps in web development.

Code editor icon

This course runs directly in your JetBrains IDE

Learn more

Content

  1. Creating variables
  2. More about variables
  3. Variable naming rules
  4. Constants
  5. Variable scopes
  6. Declaration-Initialization-Usage
  7. Hoisting
  1. Dynamic and Weak typing
  2. typeof Operator
  3. Primitive Types
  4. Objects Introduction
  5. Data Property and Accessor Property
  6. Built-in Objects: String
  7. Built-in Objects: Number
  8. Built-in Objects: Date
  9. Type Coercion
  1. More about Objects
  2. Working with properties
  3. Introduction to Arrays
  4. More about Arrays
  5. Array methods
  6. Multidimensional Arrays
  7. Map
  8. Set
  1. Arithmetic operators
  2. String arithmetic operators
  3. Operator precedence
  4. Increment and decrement
  5. Logical operators
  6. Implicit type conversions
  7. Comparisons
  8. Weak and strict equal
  1. if-else
  2. Ternary operator
  3. Switch
  1. Introduction to functions
  2. Parameters and return value
  3. Function expressions
  4. Arrow functions
  5. Closures
  1. While
  2. For
  3. For..in
  4. For..of
  5. Break and continue
  1. Object references and copying
  2. Copying complex objects
  3. Object to primitive coercion; "this" keyword
  4. Object comparison
  5. Prototypal inheritance
  1. Introduction to classes
  2. Class inheritance
  3. Method overriding
  4. Static properties and methods
  5. Private and protected properties and methods
  6. instanceof operator
  1. Naive approach
  2. Try...catch
  3. Throw operator
  4. Conditional catch and finally blocks
  1. Callbacks
  2. Promise
  3. Promise chaining
  4. Async/await

Learn with the tools developers use every day

Real-world development environmentZoom
Real-world development environmentZoom
Real-world development environmentZoom
Real-world development environmentZoom
  • Real-world development environment

    Gain practical experience with the tools and workflows you'll use in your career, minimizing the learning curve when transitioning to real-world projects.

  • Project-based learning journey

    Our plugin is built to help you finish real-world coding projects, which you can display in your code portfolio after completion.

  • Collaboration via Git

    Effortlessly track changes and collaborate on projects using Git, an essential tool for programmers in every field.

  • Focused learning

    Enjoy fewer distractions with assignments, code, debugging, and version control all in one window.

Student? Get JetBrains IDEs & hands-on courses — free for the full duration of your studies.

Apply using your school email, student ID, ISIC card, or another official document.

What do you need to start?

1

Install the Free JetBrains Toolbox App

The JetBrains Toolbox App 2.7+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right free IDE for your course.

Learn more about our licences here.

Download
2

Confirm the course launch

Click Launch course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

The JetBrains Toolbox App 2.7+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right free IDE for your course.

Learn more about our licences here.

Download

Click Launch course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

FAQ and troubleshooting

Yes, you will need the JetBrains Toolbox App and a JetBrains IDE.

But don’t worry! Just click the Open course button and then select Allow in the resultant popup to install the JetBrains Toolbox App. We've taken care of all the necessary settings, and the app will handle the rest of the setup for you.

The JetBrains Toolbox App checks which IDE is compatible with your course and whether it is installed on your computer. If you have the necessary IDE installed, the app will open it. If not, JetBrains Toolbox will initiate the installation, prioritizing free community editions.

Yes, the JetBrains Toolbox App is essential even if you already have a JetBrains IDE. It automatically prepares your IDE for studying by installing the essential plugins and updating the IDE if necessary.

Please make sure your version of the JetBrains Toolbox App is 2.6 or newer. To update, open the app and click Update Toolbox App to 2.6.x., or download the latest version here.

Yes! It's 100% free and works with both the free and paid versions of JetBrains IDEs.

If you're a student, apply for the Student Pack to get full access to JetBrains IDEs for the duration of your studies. If not, check if you qualify for a free non-commercial license.

Report IssueLicense

Learn to code like a pro with JetBrains Academy

Explore catalog
Privacy & SecurityTerms of UseTrademarksLegalGenuine Tools
© 2000—2025 JetBrains s.r.o. All rights reserved. Developed with drive and IntelliJ IDEA

You'll take this course in your JetBrains IDE.
Just install JetBrains Toolbox 2.7+, and we'll handle the rest!