Modern JavaScript for the Impatient

Video description

8+ Hours of Video Instruction

It can be difficult for developers familiar with Java and other languages to make the transition to modern JavaScript. If you simply want to be productive with JavaScript as it exists today, then you don’t want to relive history with books or courses that teach older JavaScript versions, or that assume familiarity with those older versions and focus on recently introduced features.

This course assumes that you are a competent programmer who understands branches and loops, functions, data structures, and the basics of object-oriented programming. You will get up to speed with modern JavaScript in the shortest possible time.


Modern JavaScript for the Impatient LiveLessons focuses on how to be productive with JavaScript as it exists today. After reviewing the fundamentals of values, variables, and control flow, the video thoroughly covers functions, objects, and classes. The standard library and the most commonly used tools are also covered, as well as key topics related to asynchronous programming, internationalization, and modules.

Related Content

This training pairs with Cay Horstmann’s book Modern JavaScript for the Impatient(9780136502142)
About the Instructor

Cay S. Horstmann is a professor of computer science at San Jose State University and a Java Champion. He is also the author of Core Java, Volume II—Fundamentals, Eleventh Edition (2019); Core Java, Volume I—Fundamentals, Eleventh Edition (2018); Core Java SE 9 for the Impatient, Second Edition (2018); Java SE 8 for the Really Impatient (2014); and Scala for the Impatient (2012). He has written more than a dozen other books for professional programmers and computer science students.

What You Will Learn

After starting with the basics—JavaScript values, variables, and types, and a quick overview of expressions and the various type of flow control statements—Horstmann shows viewers how to implement functions that consume and produce other functions and how to use closures to implement a form of classes before moving on to more advanced topics including:
  • Object-oriented programming with modern JavaScript (classes and inheritance and how these are implemented with prototypes)
  • The standard library (numbers and dates, strings and regular expressions, as well as arrays and collections.)
  • Metaprogramming, iterators, and generators (a powerful mechanism to bridge between linear and event-driven control flow)
  • How to use proxies to intercept property access and method invocations
  • How to use symbols for customizing behavior
  • How to use the internationalization API to adapt your applications to users around the world
  • How to structure complex applications with modules

Who Should Take This Course

  • Experienced developers looking to get up to speed quickly and be productive with modern JavaScript, without wasting time on obsolete features.

Course Requirements
  • Assumes familiarity with basic programming concepts and some experience using Java or similar languages. No previous experience with JavaScript is required.

About Pearson Video Training

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at

Table of contents

  1. Introduction
    1. Modern JavaScript for the Impatient: Introduction
  2. Lesson 1: Values and Variables
    1. Topics
    2. 1.1 What Is JavaScript?
    3. 1.2 Types and Variables
    4. 1.3 Numbers
    5. 1.4 Strings
    6. 1.5 Objects and Arrays
    7. 1.6 Destructuring
  3. Lesson 2: Control Flow
    1. Topics
    2. 2.1 Expressions and Statements
    3. 2.2 Conditions
    4. 2.3 Branches
    5. 2.4 Loops
    6. 2.5 Breaking and Continuing
  4. Lesson 3: Functions
    1. Topics
    2. 3.1 Named and Anonymous Functions
    3. 3.2 Functional Programming
    4. 3.3 Arguments
    5. 3.4 Exceptions
    6. 3.5 Advanced Topics
  5. Lesson 4: Objects and Classes
    1. Topics
    2. 4.1 Methods and Prototypes
    3. 4.2 Constructors and Classes
    4. 4.3 Getters, Setters, and Instance Fields
    5. 4.4 Static Methods and Fields
    6. 4.5 Subclasses
    7. 4.6 Advanced Topics
  6. Lesson 5: Numbers and Dates
    1. Topics
    2. 5.1 Numbers
    3. 5.2 Dates
  7. Lesson 6: Strings and Regular Expressions
    1. Topics
    2. 6.1 String Functions and Methods
    3. 6.2 Regular Expressions
  8. Lesson 7: Arrays and Collections
    1. Topics
    2. 7.1 Arrays
    3. 7.2 Typed Arrays
    4. 7.3 Maps and Sets
  9. Lesson 8: Metaprogramming
    1. Topics
    2. 8.1 Object Properties
    3. 8.2 Object Methods
    4. 8.3 Function Properties and Methods
    5. 8.4 Proxies
    6. 8.5 Customization with Symbol Properties
  10. Lesson 9: Iterators and Generators
    1. Topics
    2. 9.1 Iterables
    3. 9.2 Iterators
    4. 9.3 Generators
  11. Lesson 10: Asynchronous Programming
    1. Topics
    2. 10.1 Asynchronous Programming
    3. 10.2 The Promise Concept
    4. 10.3 Working with Promises
    5. 10.4 Async and Await
    6. 10.5 Async Iterators and Generators
  12. Lesson 11: Internationalization
    1. Topics
    2. 11.1 The Locale Concept
    3. 11.2 Localizing Numbers and Strings
    4. 11.3 Localizing Dates
  13. Lesson 12: Modules
    1. Topics
    2. 12.1 The Module Concept
    3. 12.2 Imports
    4. 12.3 Exports
  14. Summary
    1. Modern JavaScript for the Impatient: Summary

Product information

  • Title: Modern JavaScript for the Impatient
  • Author(s): Cay S. Horstmann
  • Release date: January 2020
  • Publisher(s): Pearson
  • ISBN: 0135812771