Introduction to JavaScript - Mark Winteringham

Dive deeper into testing and build automation tools by learning JavaScript

    • Mark Winteringham's profile
  • Beginner
  • 13
  • 7
320 already enrolled
The JavaScript Ecosystem
  • Describe a brief history of JavaScript
  • Describe the difference between JavaScript in browsers and NodeJS
  • Consider which flavour of JavaScript is most suitable for their needs
How JavaScript Works
  • Describe how JavaScript is a single-threaded, non-blocking architecture
  • Describe basic syntax for JavaScript
Getting started with JavaScript
  • Execute JavaScript in a browser
  • Execute JavaScript using Node JS
  • Interpret error messages from JavaScript
  • Use various sources to help solve errors in JavaScript
Dealing with Errors
  • Interpret error messages from JavaScript
Data Types
  • Demonstrate various data types that are used in JavaScript
  • Construct basic JavaScript content that assigns data to variables and reads them
Functions
  • Describe how JavaScript has functions as first class citizens
  • Describe the properties that make up a function in JavaScript
  • Distinguish opportunities for creating functions in JavaScript
  • Construct functions within JavaScript
Objects
  • Describe what an Object is in JavaScript
Control Flow - If Statements
  • Describe what if statements are and the different operators used
  • Describe how else is used in an if statement
Control Flow - Loops
  • Describe what loops are and how they work
  • Describe the different styles of loops we can create
  • Construct code using control flow to solve a problem
Control Flow - Callbacks and Promises
  • Describe what callbacks are and how they work
  • Describe what promises are and how they work
Prototypes
  • Describe what prototypes are in JavaScript
  • Point out where prototypes have been created in JavaScript written by others
Third Party Libraries
  • Describe how to use other libraries in a browser
  • Describe what NPM is and how it works
  • Demonstrate how to use NPM to install and use NodeJS libraries
  • Construct a package.json file that will contain references to all libraries and other details for a NodeJS project
Moving Forward
  • Construct basic tools to support testing in JavaScript
  • Describe the options you now have to progress their learning and use of JavaScript
  • Assess whether JavaScript is suitable for solving specific problems

From its humble beginnings, JavaScript has grown to be one of the dominant languages in software development. Originally used to create animations, process information and trigger events, we can now use JavaScript to create serverless single-page applications, desktop applications, APIs and automated checks. JavaScript is a powerful language to use but getting started with it can be overwhelming. Beginners to JavaScript have a lot of questions: What is JavaScript? What is NodeJS? and how do they differ? Why is JavaScript written differently to languages such as C# and Java? How do you use JavaScript to solve testing problems

In ‘Introduction to JavaScript’, you will learn the answers to these questions and more by learning the basic rules and flows that make up JavaScript. You will be taught about the JavaScript ecosystem, how JavaScript behaves and the syntax of JavaScript all with a view to getting you up and running creating apps to support your testing.

To successfully complete this course you will need

  • Basic knowledge of programming principles

Courses you should consider taking before this one:

Resources you will use throughout this course:

Patterns of a โ€œgoodโ€ Test Automation Framework, Locators & Data! - Anand Bagmar
Of Spies, Fakes and Friends - Help Your Code Lead a Double Life! - Rabea Gleissner
Ask Me Anything about Hermetic Testing
Explore MoT
TestBash Brighton 2024
Thu, 12 Sep 2024, 9:00 AM
Weโ€™re shaking things up and bringing TestBash back to Brighton on September 12th and 13th, 2024.
MoT Intermediate Certificate in Test Automation
Elevate to senior test automation roles with mastery in automated checks, insightful reporting, and framework maintenance