IT and Tech Certifications 20 flashcards ~10 min

JavaScript Fundamentals

JavaScript powers interactivity on nearly every website, and this deck of 20 flashcards covers the core concepts you need to start writing it confidently. You'll learn the differences between var, let and const, JavaScript's primitive data types, and the cruci...

About this deck

JavaScript powers interactivity on nearly every website, and this deck of 20 flashcards covers the core concepts you need to start writing it confidently. You'll learn the differences between var, let and const, JavaScript's primitive data types, and the crucial distinction between == and === comparison, before moving into functions, arrow function syntax, and how to manipulate the DOM to respond to user events. The deck also covers essential array methods (map, filter, reduce), destructuring and the spread operator, and finishes with asynchronous JavaScript — promises, async/await, callbacks — plus closures and how the this keyword behaves. Whether you're starting a web development bootcamp, working through coursework, or preparing for a junior developer technical interview, this deck focuses on the concepts that appear most frequently in both real-world code and interview questions.

Ready to test yourself?

Flip through all 20 cards in interactive study mode.

Launch study mode

All flashcards

Click any question to reveal the answer.

var is function-scoped and hoisted. let is block-scoped and reassignable. const is block-scoped and cannot be reassigned after declaration.
String, Number, Boolean, Undefined, Null, Symbol, and BigInt.
== compares values with type coercion. === (strict equality) compares both value and type without coercion. Best practice: always use ===.
A concise function syntax, e.g. (a, b) => a + b, which does not have its own this binding — it inherits this from the enclosing scope.
The Document Object Model — a tree-like representation of an HTML page's structure that JavaScript can read and manipulate.
Returns the first element in the DOM matching a given CSS selector.
A function attached to a DOM element that runs in response to a specific event, e.g. element.addEventListener('click', handler).
A syntax to unpack values from an array into distinct variables, e.g. const [a, b] = [1, 2];.
Expands an iterable (array, string, object) into individual elements, used for copying arrays, merging objects, or passing arguments.
Creates a new array by applying a given function to every element of the original array, without mutating it.
Creates a new array containing only the elements that satisfy a given test/condition function.
Reduces an array to a single accumulated value by applying a function against each element in turn.
An object representing the eventual completion (or failure) of an asynchronous operation, with states: pending, fulfilled, or rejected.
Syntax that allows writing asynchronous, Promise-based code in a more synchronous, readable style. await pauses execution until the Promise resolves.
A function passed as an argument to another function, to be executed after that function completes some operation.
JavaScript Object Notation — a lightweight data format. JSON.parse() converts a JSON string to an object; JSON.stringify() converts an object to a JSON string.
JavaScript's behaviour of moving variable and function declarations to the top of their scope before code execution, though initialisations are not hoisted.
A function that retains access to variables from its outer (enclosing) scope even after the outer function has finished executing.
The object that is currently executing the function — its value depends on how the function is called, not where it is defined (except for arrow functions).
undefined means a variable has been declared but not assigned a value. null is an intentional assignment representing "no value."