A
- API
- A way for programs to talk to each other. A web API is usually a URL that returns data (often JSON) instead of a web page.
- Argument
- The actual value you pass into a function when you call it, like "Mia" in greet("Mia").
- Array
- An ordered list of values, written with square brackets: [1, 2, 3].
- Arrow function
- A short way to write a function: (x) => x * 2.
- Assignment
- Putting a value into a variable with =.
- Async / await
- Keywords that let you write asynchronous code that reads like normal top-to-bottom code.
- Asynchronous
- Code that starts a slow task and carries on, dealing with the result later.
B
- Back end
- The part of an app that runs on a server, behind the scenes.
- Block
- A group of statements inside curly braces { }.
- Boolean
- A value that is either true or false.
- Bubbling
- How an event travels up from the element where it happened, through all its ancestors.
- Bug
- A mistake in a program that makes it behave wrongly.
C
- Callback
- A function passed into another function, to be called later.
- Camel case
- Writing names like firstName, with each new word starting with a capital letter.
- Class
- A blueprint for creating objects with the same properties and methods.
- Closure
- A function that remembers the variables from the place where it was created.
- Comment
- A note in code for humans, which JavaScript ignores (// or /* */).
- Console
- A panel where you can see output and run code.
- Constant
- A variable created with const, which can’t be reassigned.
- Constructor
- The special method in a class that sets up each new instance.
D
- Debugging
- Finding and fixing bugs.
- Destructuring
- Unpacking values from arrays or objects into variables: const { name } = user;
- DOM
- The Document Object Model: the browser’s live, tree-shaped model of a web page.
E
- Element
- A node in the DOM representing an HTML tag, like a <p> or a <button>.
- Encapsulation
- Hiding an object’s internal details and exposing only safe ways to use it.
- Event
- Something that happens on a page, like a click or a key press.
- Event delegation
- Using one listener on a parent element to handle events from many children.
- Event listener
- A function that runs when a specific event happens.
- Event loop
- The mechanism that runs waiting callbacks whenever the call stack is empty.
- Expression
- Any piece of code that produces a value, like 2 + 3 or name.length.
F
- Falsy
- A value that counts as false in a condition: false, 0, -0, 0n, "", null, undefined, NaN.
- Fetch
- The built-in function for requesting data from a URL.
- Front end
- The part of an app that runs in the browser, which people see and use.
- Function
- A named, reusable block of code that can take inputs and return an output.
G
- Global scope
- The outermost scope. Variables here can be seen everywhere.
H
- Higher-order function
- A function that takes a function as an argument, or returns one.
- Hoisting
- JavaScript setting up declarations at the start of their scope, before the code runs.
I
- Immutable
- Unable to be changed. Strings are immutable.
- Index
- A position in an array or string, counting from 0.
- Infinite loop
- A loop whose condition never becomes false, so it runs forever.
- Inheritance
- One class getting the properties and methods of another, using extends.
- Instance
- An object created from a class with new.
- Iteration
- One trip through a loop.
J
- JSON
- JavaScript Object Notation: a text format for storing and sending data.
K
- Keyword
- A word with a special meaning in JavaScript, like let, if or function.
L
- localStorage
- Browser storage that keeps strings saved between visits to a website.
- Loop
- Code that repeats.
M
- Method
- A function that belongs to an object.
- Module
- A separate file of code that can export things and import from other modules.
N
- NaN
- “Not a Number”: the result of math that makes no sense.
- Node.js
- A program that runs JavaScript outside the browser.
- npm
- The tool (and registry) for installing JavaScript packages.
- null
- A value meaning “deliberately empty”.
O
- Object
- A collection of key-value pairs (properties).
- Operator
- A symbol that does something to values, like +, === or &&.
P
- Parameter
- A placeholder in a function’s definition, which receives an argument.
- Primitive
- A simple, single value: string, number, boolean, undefined, null, bigint or symbol.
- Promise
- An object representing a value that will be ready in the future (or an error).
- Property
- A key-value pair inside an object.
- Prototype
- The object another object links to, where it looks for properties it doesn’t have.
R
- Reference
- How objects and arrays are stored: two variables can point to the same one.
- Render
- To draw (or redraw) the page from the app’s data.
- Return value
- The value a function gives back, using return.
S
- Scope
- The region of code where a variable can be seen and used.
- Spread / rest
- The ... syntax, which unpacks (spread) or packs up (rest) values.
- State
- The data an app keeps track of, which decides what’s shown.
- Statement
- A single instruction, usually ending with a semicolon.
- String
- A piece of text, written in quotes.
- Syntax
- The grammar rules of a programming language.
T
- Template literal
- A string in backticks that can include values with ${ }.
- Ternary operator
- A one-line if/else: condition ? a : b.
- this
- A keyword for the object a function was called on. It depends on how the function is called.
- Truthy
- Any value that counts as true in a condition (everything that isn’t falsy).
- Type coercion
- JavaScript automatically converting a value from one type to another.
U
- undefined
- The value of a variable that hasn’t been given a value.
V
- Variable
- A named box that holds a value.
Words stick better with practice
CurlyScript teaches every one of these words with short questions and an explanation after every answer.