Skip to main content Back CRM Cloud Mastery Sign up Create account

JavaScript for Salesforce Developers

The JavaScript a Salesforce developer actually needs — types, scope, async, the DOM and testing — up to the Certified JavaScript Developer exam.

  • Intermediate
  • 37 lessons
  • 12 modules
  • English

Designed and created by Salesforce Expert

What you'll learn

  • Reason about types and coercion instead of being surprised by them
  • Use scope, closures and `this` deliberately
  • Work with objects, prototypes and classes as the language defines them
  • Handle asynchronous code with promises and async/await without race conditions
  • Debug and test JavaScript, and sit the Certified JavaScript Developer exam

Course content

12 sections · 37 lectures

Orientation 3 lectures
  1. 1.1 The Sailing That Ran Twice
  2. 1.2 Cobalt Ferries, and why a timetable breaks JavaScript in five different places
  3. 1.3 This is not a Salesforce exam: seven domains, sixty questions, and the name that changed
Variables, types and coercion 5 lectures
  1. 2.1 var, let and const: scope, hoisting, and the temporal dead zone
  2. 2.2 The seven primitive types, objects, and the two questions typeof cannot answer
  3. 2.3a Hands-on: coercion in the console, part one — the three conversions
  4. 2.3b Hands-on: coercion in the console, part two — double equals, one rule at a time
  5. 2.4 Truthiness, null against undefined, and three operators that look alike
Strings, numbers, dates and collections 4 lectures
  1. 3.1 Numbers that are not numbers: floating point, the fare that was a cent short, and rounding money
  2. 3.2 Strings, template literals, and Date: the object that has ruined more sailings than weather
  3. 3.3a Hands-on: collections, part one — arrays, and why an object is not a lookup
  4. 3.3b Hands-on: collections, part two — Map, Set, and the ordering rule nobody expects
Functions, scope and this 4 lectures
  1. 4.1 Functions are values: declarations, expressions, arrows, and what actually differs between them
  2. 4.2 Closures, and the loop where every button did the same thing
  3. 4.3 this: the four rules, in the order the engine applies them
  4. 4.4H Hands-on: call, apply and bind, and repairing a handler that lost its this
Objects, prototypes and classes 3 lectures
  1. 5.1 Objects properly: references, copying, destructuring and spread
  2. 5.2 The prototype chain, and what the class keyword is actually doing
  3. 5.3H Hands-on: build the Sailing class, extend it, and break it on purpose
The browser and the DOM 2 lectures
  1. 6.1 What the browser hands you: window, document, and the tree underneath the page
  2. 6.2H Hands-on: query, build and update the departures board without innerHTML
Events, propagation and delegation 3 lectures
  1. 7.1 The event model: capture, target, bubble, and the three different things you can stop
  2. 7.2H Hands-on: the board that stopped responding, and fixing it with delegation
  3. 7.3 Custom events, and the boundary a Lightning Web Component event has to cross
Asynchronous JavaScript 4 lectures
  1. 8.1 The event loop: one thread, a stack, a task queue, and a microtask queue that jumps it
  2. 8.2 From callbacks to promises: the three states, chaining, and where a thrown error goes
  3. 8.3H Hands-on: async and await, and the race that showed the wrong route
  4. 8.4 Promise dot all, allSettled, race and any, and what fetch does not do
Errors and debugging 2 lectures
  1. 9.1 Throw, catch, finally, and the custom error class worth writing
  2. 9.2H Hands-on: breakpoints, the call stack, and the console methods nobody uses
Server-side JavaScript with Node 3 lectures
  1. 10.1 Node in one lecture: the runtime, the module systems, and what the browser has that it does not
  2. 10.2H Hands-on: the nightly timetable import — files, streams and an event emitter
  3. 10.3 npm, package dot json, semantic versioning, and the dependency that ships to production
Testing 2 lectures
  1. 11.1 What makes a test effective, and the test that could never fail
  2. 11.2H Hands-on: mocks, and testing asynchronous code so that it can actually fail
The exam run 2 lectures
  1. 12.1 The seven domains, weighted, and exactly where this course covered each one
  2. 12.2 Sitting it: the question styles, the five traps, and the last twenty minutes

Requirements

  • BLD-120 Lightning Web Components, or equivalent LWC exposure
  • Some programming experience

Description

Lightning Web Components is JavaScript, and most Salesforce developers learned just enough of it to make a component work. This course fills the gap properly: types and coercion, strings, numbers, dates and collections, functions and scope and `this`, objects and prototypes and classes, the DOM, events and delegation, asynchronous JavaScript, errors, Node, and testing.

It covers the Salesforce Certified JavaScript Developer blueprint, which is a general JavaScript exam — so the course is a real JavaScript course, taught for people who will spend their time in LWC.

Who this course is for

  • Salesforce developers whose JavaScript is component-shaped, and anyone sitting the JavaScript Developer exam.

Skills you'll practise

JavaScriptES6+Asynchronous JavaScriptDOMJest testingNode.js

Related reading