More JavaScript Foundations


This course will cover some language specific aspects of the JavaScript programming language. We'll start with some additional programming practice, with a focus on emulating JavaScript's built-in iteration methods. We'll also create a small pair of classes that implement a todo list, after which we'll move on to a variety of topics that explore the nooks and crannies of JavaScript. In particular, we'll look at the var statement, hoisting, strict mode, closures, private data, immediately invoked functions, new ES6 shorthand syntax, modules, exceptions, and garbage collection. Then we'll take a brief dive into the world of testing with Jest, and follow that up with a brief lesson on how to package code for distribution. You'll be ready to move on to more advanced topics and projects after completing this course. You will also be able to work on a solve some programming challenges, both here, as well as at other coding practice sites like Codewars and Exercism.


Programming and Back-end Development


Detailed Syllabus

More JavaScript Practice

  • Building your own forEach method
  • Build a todo list project

More JavaScript Concepts

  • Hoisting and the var statement
  • Strict mode
  • Closures
  • Private data
  • Immediately invoked function expressions
  • Shorthand notation
  • Modules
  • Exceptions
  • Garbage collection
  • Practice problems

Introduction to Testing

  • Setting up Jest
  • Using Jest
  • Jest Matchers
  • SEAT Approach
  • Writing a test suite for the todo list
  • Code coverage
  • Practice Problems

Packaging Code

  • The node toolbox
  • Setting up a project directory
  • Using npm
  • Transpilation
  • Automation with npm scripts
  • Packaging the todo list project


  • Assessment Format
  • Study guide
  • The Exam
  • Feedback