Skip to content
My Subject Hub

Learn JavaScript online and build web pages that respond

JavaScript is the language every web browser runs. You learn the language itself first, then use it to make pages react to clicks, check forms and load data. When the basics are solid, you can go on to TypeScript, React, Angular and React Native. Every class is live and one-to-one, and you write the code yourself.

  • First 30-minute class free
  • Live, one-to-one, online
  • Female tutors on request
  • Reply within 24 hours

The JavaScript course at a glance

Short answers to the questions students and parents ask first. Each one is explained in more detail further down the page.

What is JavaScript used for?

JavaScript makes web pages interactive: menus, forms, games and pages that update without reloading. Every major web browser runs it. With frameworks such as React and Angular it builds full web apps, with React Native it builds mobile apps, and with Node.js it runs servers and developer tools.

Who should learn JavaScript?

Beginners who want to build for the web, students who know some HTML and CSS, university students on a web programming course, programmers adding a second language, and anyone who needs TypeScript, React, Angular or React Native.

What do I need before I start?

No programming experience. Some HTML helps for the page topics, and the tutor teaches the HTML you need if you have none. You need a laptop or desktop with a modern browser.

Which topics does the course cover?

JavaScript fundamentals, variables and data types, conditions and loops, functions, arrays and objects, the DOM and events, and asynchronous JavaScript. Then TypeScript from basics to advanced, React, Angular (2 and later) and React Native, practised through real projects.

How are the classes delivered?

Live and one-to-one on Microsoft Teams or Zoom. You share your screen and write the code in your own editor and browser, and the tutor guides you as you go.

How can I start learning JavaScript?

Book the free 30-minute introductory class with the form on this page or on WhatsApp. We reply within 24 hours, and the tutor checks what you already know and suggests a starting point.

Who should take this JavaScript course?

  • Beginners who want to make web pages interactive
  • Students who know some HTML and CSS and want their pages to do something
  • University students on a web programming or web development course
  • Programmers who know Python, C++ or Java and want to learn how JavaScript differs
  • Students and developers who need TypeScript, React, Angular or React Native for a course or a project

Where students often get stuck

  • The difference between let, const and var
  • Comparisons that surprise you, such as == against ===
  • Scripts that run before the page has loaded
  • Callbacks, promises and async code that run in an unexpected order
  • Finding the cause of an error in the browser console
  • React state that does not update the way you expect
  • TypeScript errors about types that look correct

Prerequisites

  • No programming experience. The language basics come first.
  • Some HTML helps for the page topics. If you have none, the tutor teaches the HTML you need along the way.
  • A modern browser such as Chrome, Firefox or Edge.
  • For React, Angular and React Native: confident JavaScript, including functions, arrays, objects and async code. Angular uses TypeScript, so TypeScript comes first.

What you need for lessons

  • A laptop or desktop computer. A phone or tablet is not enough for writing code.
  • A stable internet connection and Microsoft Teams or Zoom.
  • A quiet place where you can share your screen and talk with the tutor.

JavaScript course syllabus

The topics in the order they are usually taught. The tutor adjusts the order and depth to your level, and to your school or university syllabus if you share it.

  1. JavaScript fundamentals

    • Where JavaScript runs: the browser and Node.js
    • Adding a script to a web page
    • The browser console and console.log()
    • Statements, comments and strict mode
  2. Variables and data types

    • let and const, and why var is avoided
    • Numbers, strings, booleans, null and undefined
    • Template literals
    • typeof and type conversion
  3. Conditions and loops

    • if, else if and else
    • Comparison and logical operators, including === and !==
    • for, while and for…of loops
    • switch statements
  4. Functions

    • Function declarations and arrow functions
    • Parameters, default values and return
    • Scope and closures
    • Passing a function to another function (callbacks)
  5. Arrays and objects

    • Creating, reading and updating arrays
    • Array methods: map, filter, find and reduce
    • Objects, properties and methods
    • Destructuring and the spread operator
    • JSON: turning data into text and back
  6. DOM fundamentals

    • Selecting elements with querySelector
    • Changing text, classes and styles
    • Creating and removing elements
    • Events: click, input and submit
    • Checking a form before it is sent
  7. Asynchronous JavaScript

    • Why some code waits: timers and the event loop
    • Callbacks and promises
    • async and await
    • Loading data with fetch() and handling failures with try and catch
  8. TypeScript, from basics to advanced

    • Type annotations, inference and the compiler (tsc)
    • Interfaces, type aliases and optional properties
    • Union types, literal types and narrowing
    • Generics in functions, classes and interfaces
    • Utility types such as Partial, Pick and Record
    • Strict mode, tsconfig and typing data from an API
  9. React

    • Components and JSX
    • Props, state and the useState hook
    • Events, forms and controlled inputs
    • Lists, keys and conditional rendering
    • useEffect and loading data
    • Custom hooks, context, and React with TypeScript
  10. Angular (2 and later)

    • Components, templates and data binding
    • Built-in control flow and directives
    • Services and dependency injection
    • Routing between pages
    • Template-driven and reactive forms
    • HttpClient and the basics of RxJS observables
  11. React Native

    • Core components: View, Text, Image and FlatList
    • Styling with StyleSheet and Flexbox
    • Touch, text input and simple gestures
    • Moving between screens
    • Loading data from an API in a mobile app
    • Running the app on your phone or an emulator

A practical way to learn

Code in the browser from day one
You write JavaScript in a real file and see the result in the browser straight away, with the console open to check each step.
The language first, then the page
Variables, functions, arrays and objects come before the DOM, so when you start changing pages you understand the code you are writing.
Debug with the developer tools
You learn to read console errors, pause code with breakpoints and inspect elements, so you can find out why a button does nothing.
One small page at a time
Each project is a single page you finish and understand, then extend with a new feature in a later lesson.

Practice exercises and projects

You build every project yourself, from a single page to a small app. The tutor chooses projects to suit your level. These are typical examples.

  • To-do list

    Add, tick off and delete tasks, and keep them after the page reloads with localStorage.

    Practises

    • Arrays and objects
    • Creating DOM elements
    • Click events
  • Data from a web API

    Load data from a public API with fetch, show it on the page, and display a clear message if the request fails.

    Practises

    • fetch and async/await
    • JSON
    • try and catch
  • The to-do list in React or Angular

    Rebuild the to-do list from components, with typed data and state, and compare it with the plain JavaScript version.

    Practises

    • TypeScript
    • Components and state
    • Forms
  • A mobile app in React Native

    A small app with two screens that loads a list from an API and runs on your own phone.

    Practises

    • React Native components
    • Navigation
    • Loading data

Your assignments stay your own

The tutor explains, reviews your code and helps you find bugs, but does not write graded assignments or lab tasks for you.

Read our Academic Integrity Policy

What you can expect to learn

  • Write JavaScript with variables, conditions, loops and functions, and explain what each line does
  • Store and transform data with arrays and objects, using methods such as map and filter
  • Select elements on a page and change them when the user clicks, types or submits a form
  • Check a form in the browser before it is sent
  • Load data with fetch and async/await, and show a clear message when the request fails
  • Find and fix errors with the browser’s developer tools
  • Write typed code in TypeScript, including interfaces, unions and generics
  • Build a small app from components in React or Angular, and a simple mobile screen in React Native

These are the aims of the lessons. Progress depends on where you start and how much you practise, and we never promise grades or results.

Suitable learning levels

The course starts at beginner level and goes on to TypeScript and frameworks, so students join at different points. The free class decides where you start.

  • Level: Beginner

    New to programming

    You start with the language itself in the browser console, then move to web pages once variables, conditions and functions are clear.

  • Level: Beginner to intermediate

    You already know HTML and CSS

    You can build a static page and want it to respond. Lessons concentrate on the language and the DOM, and revisit HTML only where needed.

  • Level: Intermediate

    You program in another language

    Loops and functions are familiar from Python, C++ or Java. Lessons focus on what is different in JavaScript: objects, functions as values, the DOM and asynchronous code.

  • Level: Advanced

    You know JavaScript and want a framework

    You are comfortable with JavaScript. Lessons start with TypeScript or go straight to React, Angular or React Native, depending on your course or project.

Where to go next

After JavaScript, students usually add a second language or go deeper into how programs are designed.

  • Python Programming

    A second language for scripting, automation and working with data.

  • Object-Oriented Programming

    Classes, inheritance and design, which help you organise bigger JavaScript projects too.

  • Data Structures and Algorithms

    How arrays, trees and graphs work inside, and how to write faster solutions.

  • Programming Courses

    Compare JavaScript with Python, C++ and the other programming courses.

Free guides

Your JavaScript tutor

JavaScript classes are taught by the programming tutors below. Each profile is published with the tutor’s consent. When you get in touch, we suggest a tutor who suits your level and timetable.

  • Portrait of Ali Sher Abbasi, tutor at My Subject Hub

    Ali Sher Abbasi

    Tutor at My Subject Hub

    • BS (Computer Science)
    • DSA certification
    Teaching experience
    5 years
    Teaching languages
    English and Urdu
    Computer science and programming
    • Programming Fundamentals
    • C++ and Java
    • JavaScript and Web Development
    • Object-Oriented Programming
    • Data Structures and Algorithms
    • Advanced Computer Science
    • Cybersecurity Fundamentals
    • FYP Mentoring
    School and college subjects
    • Mathematics
    • Science, Physics, Chemistry and Biology
    • English
    • Urdu
    Teaching approach
    Friendly and patient. Daily tasks and assignments, with quizzes to check progress, and we move to the next topic only when the previous one is crystal clear.
    Curricula and boards
    All curricula and boards
    Online availability
    Any time that suits the student
See all tutors

Course fee

Python, JavaScript, C++, Java and C. One flat monthly fee per course, whatever the number of classes a week.

International
⁦$60⁩a month
Saudi Arabia
⁦SAR 180⁩a monthIncludes the 20% discount for students in Saudi Arabia

Object-Oriented Programming, Data Structures and Algorithms and Cybersecurity use the monthly plans, like academic subjects.

See all fees and plans

JavaScript course questions

Is JavaScript the same as Java?

No. They are different languages with similar names. JavaScript runs in web browsers and is mainly used for the web. Java is used for applications, Android and many university courses. We teach both.

Do I need to know HTML and CSS first?

Not for the language basics. The DOM topics need some HTML, and the tutor teaches the parts you need as you go, so you do not need a separate HTML course first.

Is JavaScript a good first language?

Yes, if you want to build for the web: you only need a browser, and you see results on the page straight away. If you are not interested in the web, or your course uses Python, Python is a gentler start.

See the Python course

Do you teach React, Angular and React Native?

Yes. React and Angular are taught for web apps, and React Native for mobile apps. They come after the JavaScript fundamentals, because every framework builds on functions, objects and async code. If you already know JavaScript, you can start with the framework your course or project needs.

Which version of Angular do you teach?

Angular 2 and later, the current Angular, which is written in TypeScript. The older AngularJS (version 1) is a different framework and is not part of this course.

Do you teach TypeScript?

Yes, from the basics to advanced topics: types and interfaces first, then unions and narrowing, generics, utility types and strict settings. TypeScript adds types to JavaScript, so everything you learn here carries over.

Should I learn React or Angular?

If your course, job or project uses one of them, learn that one. Otherwise React is usually the lighter start, and it leads on to React Native for mobile apps. Angular includes more out of the box, such as routing and forms, and always uses TypeScript.

Which software will I use?

A modern browser and a free code editor such as VS Code, and later Node.js for TypeScript, React, Angular and React Native. The tutor helps you set them up.

How long does it take to learn JavaScript?

There is no fixed length. It depends on your starting point, how many lessons you take each week and how much you build between them. The tutor suggests a plan after the free class. The fee is ⁦$60⁩ a month (⁦SAR 180⁩ in Saudi Arabia), whatever the number of classes a week.

See fees and plans

Book a free introductory JavaScript class

Meet the tutor, write a few lines of JavaScript together, and agree where to start, whether that is the basics, TypeScript or a framework. Fill in the form and we will arrange a time.

What happens next

  1. We reply within 24 hours, on WhatsApp or by email.
  2. You agree a time for the free 30-minute class with the tutor.
  3. In the class the tutor checks your level, you write a little code together, and you get a suggested starting point.
  4. There is no obligation to continue after the free class.

Tell us about the student

Only the name, the student’s level and one way to reach you are required. Everything else is optional.

About the student
How we can reach you

A contact number with country code, an email address, or both. We need at least one to reply; email is fine if you would rather not share a number.

Class preferences(optional)
Preferred tutor(optional)

We use these details only to reply to you and arrange classes. How we handle your information