Learn JavaScript <span>Fundamentals</span> the right way JavaScript Fundamentals

Todd Motto teaching Ultimate Courses

Todd Motto Google Developer expert Google Developer Expert

The missing JavaScript course. Learn JavaScript from the absolute beginning and master the core essentials of what a JavaScript developer needs to know. This is your complete guide.

Todd's Angular courses are one of the best online trainings that can be found.

John Oswalt Picture

John Oswalt

Technology Expert

Developers like me are starving for the knowledge you just served up. I've spent over $1,500 dollars in the last 7 months trying to learn what you gave me in a single course.

Chris Milford Picture

Chris Milford

Tech Lead

Todd brings unique enthusiasm, activity and expertise to the Angular community.

Brad Green Picture

Brad Green

Angular Product Manager

What you'll learn

Everything you need, structured and ready to go

The Missing Introduction to JavaScript (3 lessons)

  • Course Overview

    Course Overview

    In Development
  • What is JavaScript?

    What is JavaScript?

    In Development
  • Why JavaScript?

    Why JavaScript?

    In Development

Hello <script> World (4 lessons)

  • Project Setup

    Project Setup

    In Development
  • Hello <script> World

    Hello <script> World

    In Development
  • Understanding the DOM

    Understanding the DOM

    In Development
  • A Console Primer

    A Console Primer

    In Development

Getting Started with JavaScript (3 lessons)

  • JavaScript Statements

    JavaScript Statements

    In Development
  • JavaScript Syntax

    JavaScript Syntax

    In Development
  • JavaScript Comments

    JavaScript Comments

    In Development

Variables with var, let and const (3 lessons)

  • Variables with “var”

    Variables with “var”

    In Development
  • Introducing “let”

    Introducing “let”

    In Development
  • “let” and “const”

    “let” and “const”

    In Development

Primitive Data Types (8 lessons)

  • Introduction to Types

    Introduction to Types

    In Development
  • String type

    String type

    In Development
  • Number type

    Number type

    In Development
  • Boolean type

    Boolean type

    In Development
  • Null type

    Null type

    In Development
  • Undefined type

    Undefined type

    In Development
  • Null versus Undefined

    Null versus Undefined

    In Development
  • Dynamic Types and Coercion

    Dynamic Types and Coercion

    In Development

Reference Data Types (4 lessons)

  • Arrays

    Arrays

    In Development
  • Objects

    Objects

    In Development
  • Functions

    Functions

    In Development
  • Dates

    Dates

    In Development

Conditional Statements (2 lessons)

  • If, Else If and Else

    If, Else If and Else

    In Development
  • Switch Statements

    Switch Statements

    In Development

JavaScript Operators (5 lessons)

  • Comparison Operators

    Comparison Operators

    In Development
  • Assignment Operators

    Assignment Operators

    In Development
  • Arithmetic Operators

    Arithmetic Operators

    In Development
  • Logical Operators

    Logical Operators

    In Development
  • Type Operators

    Type Operators

    In Development

Strings in Depth (6 lessons)

  • Strings, Length and Property Access

    Strings, Length and Property Access

    In Development
  • Methods: indexOf, lastIndexOf, search

    Methods: indexOf, lastIndexOf, search

    In Development
  • Methods: slice, substr

    Methods: slice, substr

    In Development
  • Methods: substring, replace

    Methods: substring, replace

    In Development
  • Methods: toUpperCase, toLowerCase

    Methods: toUpperCase, toLowerCase

    In Development
  • Methods: split, repeat, trim

    Methods: split, repeat, trim

    In Development

Numbers in Depth (4 lessons)

  • Numbers, Floating Points

    Numbers, Floating Points

    In Development
  • Numbers and Strings Gotchas

    Numbers and Strings Gotchas

    In Development
  • Not-a-Number (NaN)

    Not-a-Number (NaN)

    In Development
  • Methods: toFixed, toPrecision

    Methods: toFixed, toPrecision

    In Development

Arrays in Depth (8 lessons)

  • Array Object and Properties

    Array Object and Properties

    In Development
  • Methods: unshift, push

    Methods: unshift, push

    In Development
  • Methods: shift, pop

    Methods: shift, pop

    In Development
  • Methods: forEach, map

    Methods: forEach, map

    In Development
  • Methods: indexOf, includes, from, find

    Methods: indexOf, includes, from, find

    In Development
  • Methods: concat, slice, splice

    Methods: concat, slice, splice

    In Development
  • Methods: filter, reduce, some

    Methods: filter, reduce, some

    In Development
  • Methods: sort, reverse

    Methods: sort, reverse

    In Development

Objects in Depth (9 lessons)

  • Object Constructors and Literals

    Object Constructors and Literals

    In Development
  • Object Properties

    Object Properties

    In Development
  • Object Methods

    Object Methods

    In Development
  • Understanding “this” in Objects

    Understanding “this” in Objects

    In Development
  • Method Chaining

    Method Chaining

    In Development
  • Checking Property Existence

    Checking Property Existence

    In Development
  • “for…in” loop

    “for…in” loop

    In Development
  • Copying and Comparing Objects

    Copying and Comparing Objects

    In Development
  • Cloning and Merging

    Cloning and Merging

    In Development

Functions in Depth (9 lessons)

  • Function Syntax and Scope

    Function Syntax and Scope

    In Development
  • Function Declarations and Expressions

    Function Declarations and Expressions

    In Development
  • Immediately Invoked Function Expressions

    Immediately Invoked Function Expressions

    In Development
  • Function “return” statement

    Function “return” statement

    In Development
  • Understanding “this” in Functions

    Understanding “this” in Functions

    In Development
  • Function Closures

    Function Closures

    In Development
  • Function “arguments” Object

    Function “arguments” Object

    In Development
  • Arrow Functions

    Arrow Functions

    In Development
  • Methods: call, apply, bind

    Methods: call, apply, bind

    In Development

Dates in Depth (6 lessons)

  • Date Constructor and Prototype

    Date Constructor and Prototype

    In Development
  • Method: getDate, getDay, getMonth, getFullYear

    Method: getDate, getDay, getMonth, getFullYear

    In Development
  • Method: getTime, getHours, getMinutes, getSeconds

    Method: getTime, getHours, getMinutes, getSeconds

    In Development
  • Method: now, parse

    Method: now, parse

    In Development
  • Method: setDate, setDay, setMonth, setFullYear

    Method: setDate, setDay, setMonth, setFullYear

    In Development
  • Method: setTime, setHours, setMinutes, setSeconds

    Method: setTime, setHours, setMinutes, setSeconds

    In Development

Loops and Iteration (3 lessons)

  • For, For Of, For In Loops

    For, For Of, For In Loops

    In Development
  • While and Do While Loops

    While and Do While Loops

    In Development
  • Label, Break and Continue Statements

    Label, Break and Continue Statements

    In Development

Classes and Prototypes (5 lessons)

  • Classes and Prototypes Explained

    Classes and Prototypes Explained

    In Development
  • Understanding Classes and Constructors

    Understanding Classes and Constructors

    In Development
  • Public and Private Members

    Public and Private Members

    In Development
  • Static Properties and Methods

    Static Properties and Methods

    In Development
  • Prototypal Inheritance

    Prototypal Inheritance

    In Development

DOM Manipulation and Events (13 lessons)

  • What is the DOM?

    What is the DOM?

    In Development
  • Outputting JavaScript

    Outputting JavaScript

    In Development
  • Lifecycle Events

    Lifecycle Events

    In Development
  • Single Node Selectors

    Single Node Selectors

    In Development
  • Multi Node Selectors

    Multi Node Selectors

    In Development
  • DOM Tree Traversal

    DOM Tree Traversal

    In Development
  • Manipulating DOM Elements

    Manipulating DOM Elements

    In Development
  • Style and CSS

    Style and CSS

    In Development
  • Attributes and Properties

    Attributes and Properties

    In Development
  • Event Listeners and “Event”

    Event Listeners and “Event”

    In Development
  • Mouse Events

    Mouse Events

    In Development
  • Input and Keyboard Events

    Input and Keyboard Events

    In Development
  • Event Delegation and Bubbling

    Event Delegation and Bubbling

    In Development
Learn JavaScript <span>Fundamentals</span> the right way

JavaScript Fundamentals

lessons hours

Save 48%

$99

$189

Save 17%

$499

$599

Save 18%

$899

$1099

Save 17%

$1499

$1799

Save 14%

$2499

$2899

Get the complete package...

Everything you need to start mastering JavaScript today

Preorder deal

JavaScript Ultimate Package

3 courses

Save 61%

$149

$387

Save 50%

$499

$995

Save 55%

$899

$1990

Save 62%

$1499

$3980

Save 69%

$2499

$7960

Save 75%

$3499

$13930

Save 77%

$4499

$19900

30 day money back guarantee

These courses are empowering thousands with expert knowledge - they will you too. If you're disappointed for whatever reason, reach out to us within 30 days of your purchase.

Student and location discounts

Not-so-good exchange rate? (i.e. India/Brazil) Get in touch for a coupon. Student? Email us from your student email or attach your student ID.