# JavaScript glossary

279 JavaScript terms, from Novice to Master. Start with the basics or jump to a level.

Updated: October 19, 2026

## Novice

- [&lt;script> Element](https://www.ask-codey.com/glossary/script-element): An HTML element that loads or contains JavaScript for a web page.
- [Arithmetic Operators](https://www.ask-codey.com/glossary/arithmetic-operators-javascript-2): The math symbols: + - \* / // % \*\*.
- [Arithmetic Operators (JavaScript)](https://www.ask-codey.com/glossary/arithmetic-operators-javascript): 3 + 4 // addition
- [Array - Access Element - JavaScript](https://www.ask-codey.com/glossary/array-access-element-javascript): Array indexes are 0 based.
- [Array - JavaScript](https://www.ask-codey.com/glossary/array-javascript): An array is a collection of multiple values in a single variable.
- [Assignment](https://www.ask-codey.com/glossary/assignment-javascript): Storing a value in a variable with a single =.
- [BigInt](https://www.ask-codey.com/glossary/bigint): A numeric primitive for integers larger than Number can safely represent.
- [Block Scope](https://www.ask-codey.com/glossary/block-scope): The region inside braces where let and const declarations are available.
- [Browser Console](https://www.ask-codey.com/glossary/browser-console): A browser development panel for inspecting messages, errors, and JavaScript values.
- [camelCase](https://www.ask-codey.com/glossary/camelcase-javascript): A naming style that starts lowercase and capitalizes each later word.
- [Character - JavaScript](https://www.ask-codey.com/glossary/character-javascript): A character is a single letter, digit, punctuation or any other special character.
- [Comment](https://www.ask-codey.com/glossary/comment-javascript): Text written for people reading the code that the JavaScript engine ignores.
- [Comparison Operators](https://www.ask-codey.com/glossary/comparison-operators-javascript): Symbols like == and &lt; that compare two values and answer True or False.
- [console.log()](https://www.ask-codey.com/glossary/console-log): A method that writes a value to the runtime's development console.
- [const](https://www.ask-codey.com/glossary/const-javascript): A keyword that declares a block-scoped variable that can't be given a new value.
- [ECMAScript](https://www.ask-codey.com/glossary/ecmascript): The language standard that defines how JavaScript syntax and behavior work.
- [else Statement](https://www.ask-codey.com/glossary/else-statement): A branch that runs when its matching if condition is falsy.
- [Falsy](https://www.ask-codey.com/glossary/falsy): A value treated as false when JavaScript evaluates it as a condition.
- [if Statement](https://www.ask-codey.com/glossary/if-statement-javascript): Runs a block of code only when a condition is true.
- [JavaScript](https://www.ask-codey.com/glossary/javascript): A programming language used to add behavior to web pages and build applications in browsers, servers, and other runtimes.
- [JavaScript Data Types](https://www.ask-codey.com/glossary/javascript-data-types): JavaScript basic data types are string, number and boolean.
- [JavaScript Engine](https://www.ask-codey.com/glossary/javascript-engine): Software that reads and executes JavaScript code.
- [JavaScript Runtime](https://www.ask-codey.com/glossary/javascript-runtime): An environment combining a JavaScript engine with APIs such as timers, files, or browser features.
- [JavaScript variable](https://www.ask-codey.com/glossary/javascript-variable): A variable is a named alias for a value that you want to use in your application.
- [let](https://www.ask-codey.com/glossary/let): A keyword that declares a block-scoped variable that can be reassigned.
- [Logical Operators](https://www.ask-codey.com/glossary/logical-operators-javascript): and, or and not: they combine True/False checks.
- [Naming Conventions (JavaScript)](https://www.ask-codey.com/glossary/naming-conventions-javascript): JavaScript predominantly uses 2 naming conventions: camelCase and PascalCase.
- [NaN](https://www.ask-codey.com/glossary/nan): A special Number value meaning the result is not a valid number.
- [Node.js](https://www.ask-codey.com/glossary/node-js): A JavaScript runtime commonly used for servers, command-line tools, and automation.
- [null](https://www.ask-codey.com/glossary/null): A primitive value deliberately used to represent no object or value.
- [Number](https://www.ask-codey.com/glossary/number): JavaScript's main numeric type for both whole and fractional numbers.
- [Primitive Value](https://www.ask-codey.com/glossary/primitive-value): A value that is not an object, such as a string, number, boolean, null, or undefined.
- [Runtime Error](https://www.ask-codey.com/glossary/runtime-error-javascript): A problem that occurs while a compiled program is running.
- [Script](https://www.ask-codey.com/glossary/script-javascript): A file or block of JavaScript code that a browser or another runtime can execute.
- [Semicolon](https://www.ask-codey.com/glossary/semicolon-javascript): A punctuation mark that can end a JavaScript statement.
- [Snake Case](https://www.ask-codey.com/glossary/snake-case): All letters are lower case, each word is separated by an underscore.
- [Strict Equality (===)](https://www.ask-codey.com/glossary/strict-equality): A comparison that requires equal values and matching types without coercion.
- [String](https://www.ask-codey.com/glossary/string-javascript-2): Text inside quotes, like \\"hello\\" or 'coffee'.
- [String - JavaScript](https://www.ask-codey.com/glossary/string-javascript): A string is a series of characters (letters and/or digits).
- [String Interpolation](https://www.ask-codey.com/glossary/string-interpolation-javascript): Placing an expression inside ${} so its value becomes part of a template literal.
- [switch Statement](https://www.ask-codey.com/glossary/switch-statement-javascript): A statement that selects a code path by matching one value against cases.
- [Syntax Error](https://www.ask-codey.com/glossary/syntax-error): An error caused by code that does not follow JavaScript's grammar.
- [Template Literal](https://www.ask-codey.com/glossary/template-literal): A string enclosed by backticks that supports interpolation and multiple lines.
- [Truthy](https://www.ask-codey.com/glossary/truthy): A value treated as true when JavaScript evaluates it as a condition.
- [Type Coercion](https://www.ask-codey.com/glossary/type-coercion): JavaScript's conversion of a value from one type to another, either automatically or explicitly.
- [typeof Operator](https://www.ask-codey.com/glossary/typeof-operator): An operator that returns a string describing a value's basic type.
- [undefined](https://www.ask-codey.com/glossary/undefined): The primitive value used when a value has not been assigned or is missing.
- [var](https://www.ask-codey.com/glossary/var-javascript): An older keyword for declaring a variable that belongs to the whole function, not just the block it's in.
- [Variable](https://www.ask-codey.com/glossary/variable-javascript): A name that holds a value, like a labelled box.
- [Variable Declaration](https://www.ask-codey.com/glossary/variable-declaration): A statement that creates a variable name with let, const, or var.

## Apprentice

- [Argument](https://www.ask-codey.com/glossary/argument-javascript): The actual value you hand to a function when you call it.
- [Arguments (JavaScript)](https://www.ask-codey.com/glossary/arguments-javascript): An argument is any value that is passed into a function when calling the function.
- [Array](https://www.ask-codey.com/glossary/array-javascript-2): A fixed-size, indexed collection whose elements all have the same type.
- [Array - Mixed Types - JavaScript](https://www.ask-codey.com/glossary/array-mixed-types-javascript): TRUE - JavaScript arrays can contain multiple types in the same array.
- [Array Destructuring](https://www.ask-codey.com/glossary/array-destructuring): Syntax that extracts array items by position into variables.
- [Array Index](https://www.ask-codey.com/glossary/array-index-javascript): A zero-based number that identifies an element's position in an array.
- [Array Length](https://www.ask-codey.com/glossary/array-length-javascript): The fixed number of elements an array can hold.
- [Arrow Function](https://www.ask-codey.com/glossary/arrow-function): A compact function expression written with the => symbol.
- [Bracket Notation](https://www.ask-codey.com/glossary/bracket-notation): Accessing an object property with a key expression inside square brackets.
- [break](https://www.ask-codey.com/glossary/break-javascript): Stops a loop immediately.
- [Callback Function](https://www.ask-codey.com/glossary/callback-function): A function passed to other code to be called later or during an operation.
- [continue](https://www.ask-codey.com/glossary/continue-javascript): Skips to the next pass of the loop.
- [Date Object](https://www.ask-codey.com/glossary/date-object): A built-in object representing a single moment in time.
- [Default Parameter](https://www.ask-codey.com/glossary/default-parameter): A parameter value used when the caller supplies undefined or omits the argument.
- [describe, it and expect](https://www.ask-codey.com/glossary/describe-it-and-expect): Group tests, define tests, and assert results.
- [do...while Loop](https://www.ask-codey.com/glossary/do-while-loop-javascript): A loop that runs its body once before checking whether to repeat.
- [Dot Notation](https://www.ask-codey.com/glossary/dot-notation): Accessing an object property with a dot followed by its name.
- [Escape Sequence](https://www.ask-codey.com/glossary/escape-sequence-javascript): A backslash code that represents a special character inside a string or character literal.
- [Event - JavaScript](https://www.ask-codey.com/glossary/event-javascript): An event is an any action that can happen that your application can monitor.
- [for Loop](https://www.ask-codey.com/glossary/for-loop-javascript): Repeats code once for each item in a collection.
- [for...in Loop](https://www.ask-codey.com/glossary/for-in-loop): A loop that visits an object's enumerable property names.
- [for...of Loop](https://www.ask-codey.com/glossary/for-of-loop): A loop that visits the values produced by an iterable.
- [Function](https://www.ask-codey.com/glossary/function): A reusable block of code that can receive values and return a result.
- [Function Declaration](https://www.ask-codey.com/glossary/function-declaration): A named function created with the function keyword as a statement.
- [Function Expression](https://www.ask-codey.com/glossary/function-expression): A function created as part of an expression and commonly assigned to a variable.
- [Function Signature (JavaScript)](https://www.ask-codey.com/glossary/function-signature-javascript): Functions have a signature, this is how the JavaScript runtime knows what code block to…
- [Global Scope](https://www.ask-codey.com/glossary/global-scope): The outermost scope, whose declarations may be available across a script or module.
- [How to call a function](https://www.ask-codey.com/glossary/how-to-call-a-function): A function is called by specifying the name of the function followed by parentheses and…
- [includes()](https://www.ask-codey.com/glossary/includes): A method that reports whether an array contains a value or a string contains text.
- [Jest](https://www.ask-codey.com/glossary/jest): A popular JavaScript test framework.
- [join()](https://www.ask-codey.com/glossary/join-javascript): Glues a list of strings into one string with a separator between them.
- [JSON Object](https://www.ask-codey.com/glossary/json-object): A built-in object with methods for converting between JavaScript values and JSON text.
- [Key-Value Pair](https://www.ask-codey.com/glossary/key-value-pair-javascript): One entry in a dictionary: a key and the value stored under it.
- [Local Scope](https://www.ask-codey.com/glossary/local-scope): A function or block scope where declarations are available only inside that area.
- [Looping Logic](https://www.ask-codey.com/glossary/looping-logic): 
- [Math Object](https://www.ask-codey.com/glossary/math-object): A built-in object containing mathematical constants and functions.
- [Math.random()](https://www.ask-codey.com/glossary/math-random-javascript): A method that returns a pseudorandom double from 0.0 up to, but not including, 1.0.
- [Method](https://www.ask-codey.com/glossary/method-javascript): A function that belongs to a class, called on an object with a dot.
- [Nested Array](https://www.ask-codey.com/glossary/nested-array): An array containing one or more arrays as its items.
- [Nested Loop](https://www.ask-codey.com/glossary/nested-loop-javascript): A loop inside another loop.
- [Nullish Coalescing](https://www.ask-codey.com/glossary/nullish-coalescing): The ?? operator, which uses a fallback only when its left value is null or undefined.
- [Object](https://www.ask-codey.com/glossary/object-javascript-2): A class instance that combines its own state with available behavior.
- [Object - JavaScript](https://www.ask-codey.com/glossary/object-javascript): A JavaScript object gives you the ability to store multiple related variables in the same…
- [Object Destructuring](https://www.ask-codey.com/glossary/object-destructuring): Syntax that extracts named object properties into variables.
- [Object Literal](https://www.ask-codey.com/glossary/object-literal): Brace syntax that creates an object from a list of properties.
- [Optional Chaining](https://www.ask-codey.com/glossary/optional-chaining): The ?. operator, which stops and returns undefined when the value before it is nullish.
- [Parameter](https://www.ask-codey.com/glossary/parameter-javascript-2): A name in a function definition for a value the function needs.
- [Parameter (JavaScript)](https://www.ask-codey.com/glossary/parameter-javascript): A parameter (also known as an input parameter) is a way of receiving a variable into a…
- [Parameters and Arguments (JavaScript)](https://www.ask-codey.com/glossary/parameters-and-arguments-javascript): A parameter is defined by the function to specify what input is required to call the…
- [parseFloat()](https://www.ask-codey.com/glossary/parsefloat): A function that reads a decimal number from the beginning of a string.
- [parseInt()](https://www.ask-codey.com/glossary/parseint): A function that reads a whole number from the beginning of a string.
- [pop()](https://www.ask-codey.com/glossary/pop-javascript): Removes an item from a list and hands it back (the last one by default).
- [Property](https://www.ask-codey.com/glossary/property-javascript): A member that exposes a value through get and set accessors.
- [push()](https://www.ask-codey.com/glossary/push): An Array method that adds values to the end and returns the new length.
- [Rest Parameter](https://www.ask-codey.com/glossary/rest-parameter): A final function parameter beginning with ... that collects remaining arguments into an array.
- [Return Value](https://www.ask-codey.com/glossary/return-value-javascript-2): The result a function hands back with return.
- [Return Value (JavaScript)](https://www.ask-codey.com/glossary/return-value-javascript): Functions may or may not return a response value when they are called.
- [Scope](https://www.ask-codey.com/glossary/scope-javascript): Where in the code a variable can be used.
- [shift()](https://www.ask-codey.com/glossary/shift): An Array method that removes and returns the first item.
- [slice()](https://www.ask-codey.com/glossary/slice): A method that returns a selected portion without changing the original array or string.
- [splice()](https://www.ask-codey.com/glossary/splice): An Array method that removes, replaces, or inserts items by changing the original array.
- [split()](https://www.ask-codey.com/glossary/split-javascript): Breaks a string into a list of pieces.
- [Spread Syntax](https://www.ask-codey.com/glossary/spread-syntax): The ... syntax that expands values from an iterable or properties from an object.
- [String Concatenation](https://www.ask-codey.com/glossary/string-concatenation-javascript): Joining strings end to end with +.
- [String Index](https://www.ask-codey.com/glossary/string-index-javascript): A zero-based position used to locate a character in a String.
- [String Length](https://www.ask-codey.com/glossary/string-length-javascript): The number of UTF-16 code units in a String.
- [String Parsing](https://www.ask-codey.com/glossary/string-parsing): Strings cannot be directly converted to another data type, but strings can represent…
- [Ternary Operator](https://www.ask-codey.com/glossary/ternary-operator-javascript-2): The ?: operator, which chooses one of two values from a condition.
- [The DOM](https://www.ask-codey.com/glossary/the-dom): A browsers in-memory representation of the HTML document.
- [this](https://www.ask-codey.com/glossary/this-javascript): A value supplied by the way a regular function is called, often referring to the receiving object.
- [toString()](https://www.ask-codey.com/glossary/tostring-javascript): A method that returns a readable text representation of an object.
- [unshift()](https://www.ask-codey.com/glossary/unshift): An Array method that adds values to the beginning and returns the new length.
- [Vitest](https://www.ask-codey.com/glossary/vitest-unit-testing): A fast JavaScript test runner built on Vite.
- [while Loop](https://www.ask-codey.com/glossary/while-loop-javascript): Keeps repeating as long as its condition stays true.

## Journeyman

- [.catch()](https://www.ask-codey.com/glossary/catch): A Promise method that schedules error handling for rejection.
- [.then()](https://www.ask-codey.com/glossary/then): A Promise method that schedules work for successful completion.
- [Array Iterator Method](https://www.ask-codey.com/glossary/array-iterator-method): An Array method that processes items through a callback, such as map, filter, or find.
- [async](https://www.ask-codey.com/glossary/async): A keyword added to functions that allows fetching data in parallel.
- [async Function](https://www.ask-codey.com/glossary/async-function): A function that always returns a Promise and allows await in its body.
- [await](https://www.ask-codey.com/glossary/await): An operator that pauses an async function until a value or Promise settles.
- [catch Block](https://www.ask-codey.com/glossary/catch-block-javascript): A block that handles a matching exception from its try block.
- [Class](https://www.ask-codey.com/glossary/class-javascript): A blueprint for making objects that bundle data with actions.
- [Class Method](https://www.ask-codey.com/glossary/class-method): A function defined as a member of a JavaScript class.
- [Closure](https://www.ask-codey.com/glossary/closure-javascript): An inner function that remembers the variables around it.
- [Constructor](https://www.ask-codey.com/glossary/constructor-javascript): The special class method that initializes a newly created JavaScript object.
- [Custom Error](https://www.ask-codey.com/glossary/custom-error): An application-specific error class extending JavaScript's Error class.
- [Default Export](https://www.ask-codey.com/glossary/default-export): The single value a module marks as its default export.
- [defer](https://www.ask-codey.com/glossary/defer): A Boolean classic-script attribute that delays execution until parsing finishes while preserving document order.
- [Dependency](https://www.ask-codey.com/glossary/dependency-javascript): External code that a project needs to compile or run.
- [Development Dependency](https://www.ask-codey.com/glossary/development-dependency): A package needed for development or testing but not for the application at runtime.
- [DOM](https://www.ask-codey.com/glossary/dom): The browser's object representation of an HTML document.
- [Encapsulation](https://www.ask-codey.com/glossary/encapsulation-javascript): Keeping an object's data behind its methods so it's changed the safe way.
- [Error](https://www.ask-codey.com/glossary/error): An object describing a problem that interrupted normal execution.
- [ES Module](https://www.ask-codey.com/glossary/es-module): A JavaScript file using import and export to declare dependencies and public values.
- [Event](https://www.ask-codey.com/glossary/event-javascript-2): A member that lets an object notify subscribed code that something happened.
- [Event Listener](https://www.ask-codey.com/glossary/event-listener): A callback registered to run when a particular event occurs.
- [every()](https://www.ask-codey.com/glossary/every): An Array method that reports whether every item passes a test.
- [extends](https://www.ask-codey.com/glossary/extends): A keyword that makes one class inherit from another.
- [External script](https://www.ask-codey.com/glossary/external-script): A script loaded from a separate resource through a script element's src attribute.
- [Fetch API](https://www.ask-codey.com/glossary/fetch-api): A browser and runtime API for making HTTP requests that returns a Promise.
- [filter()](https://www.ask-codey.com/glossary/filter-javascript): Keeps only the items that pass a test.
- [finally Block](https://www.ask-codey.com/glossary/finally-block-javascript): A block that normally runs after try and catch whether an exception occurred or not.
- [find()](https://www.ask-codey.com/glossary/find): An Array method that returns the first item satisfying a test.
- [Getter](https://www.ask-codey.com/glossary/getter-javascript): A method that returns an object's stored value.
- [Higher-Order Function](https://www.ask-codey.com/glossary/higher-order-function-javascript): A function that takes or returns another function.
- [Inheritance](https://www.ask-codey.com/glossary/inheritance-javascript): A new class starts with everything from another class, then adds or changes things.
- [Inline script](https://www.ask-codey.com/glossary/inline-script): Script code written directly inside a script element.
- [Instance](https://www.ask-codey.com/glossary/instance-javascript): One object made from a class, with its own data.
- [JSON.parse()](https://www.ask-codey.com/glossary/json-parse): A method that converts valid JSON text into a JavaScript value.
- [JSON.stringify()](https://www.ask-codey.com/glossary/json-stringify): A method that converts a supported JavaScript value into JSON text.
- [Lexical Scope](https://www.ask-codey.com/glossary/lexical-scope): The rule that a function can use names from where it was written.
- [map()](https://www.ask-codey.com/glossary/map-javascript): An Array method that creates a new array by transforming every item.
- [Method Overriding](https://www.ask-codey.com/glossary/method-overriding-javascript): A child class writing its own version of an inherited method.
- [Module script](https://www.ask-codey.com/glossary/module-script): A script processed as a JavaScript module with imports, strict mode, and module scoping.
- [Named Export](https://www.ask-codey.com/glossary/named-export): An exported value imported by its declared export name.
- [npm](https://www.ask-codey.com/glossary/npm): The package registry and command-line client commonly used by JavaScript projects.
- [Package](https://www.ask-codey.com/glossary/package-javascript): A folder of related modules you can import from.
- [package.json](https://www.ask-codey.com/glossary/package-json): A project file containing package metadata, scripts, dependencies, and configuration.
- [Polymorphism](https://www.ask-codey.com/glossary/polymorphism-javascript): Different objects answering the same method call in their own way.
- [Private Field](https://www.ask-codey.com/glossary/private-field): A class field beginning with # that is accessible only inside its declaring class.
- [Promise](https://www.ask-codey.com/glossary/promise): An object representing the eventual fulfillment or rejection of an asynchronous operation.
- [Promise State](https://www.ask-codey.com/glossary/promise-state): A Promise's current state: pending, fulfilled, or rejected.
- [Pure Function](https://www.ask-codey.com/glossary/pure-function): A function that produces the same result for the same inputs without changing outside state.
- [querySelector()](https://www.ask-codey.com/glossary/queryselector): A DOM method that returns the first element matching a CSS selector.
- [Recursion](https://www.ask-codey.com/glossary/recursion-javascript): A function calling itself to solve a smaller piece of the same problem.
- [reduce()](https://www.ask-codey.com/glossary/reduce-javascript): A stream operation that combines elements into one result.
- [Response Object](https://www.ask-codey.com/glossary/response-object): An object returned by fetch containing an HTTP response's status, headers, and body methods.
- [Semantic Versioning](https://www.ask-codey.com/glossary/semantic-versioning): A major.minor.patch numbering convention communicating compatibility and change size.
- [Setter](https://www.ask-codey.com/glossary/setter-javascript): A method that validates or changes an object's stored value.
- [some()](https://www.ask-codey.com/glossary/some): An Array method that reports whether at least one item passes a test.
- [sort()](https://www.ask-codey.com/glossary/sort-javascript): Puts a list in order, changing the list itself.
- [Static Import](https://www.ask-codey.com/glossary/static-import): An import declaration resolved and loaded as part of a module's dependency graph.
- [Static Method](https://www.ask-codey.com/glossary/static-method): A class method called on the class itself rather than an instance.
- [super](https://www.ask-codey.com/glossary/super-javascript): A reference used to access a superclass constructor or member.
- [throw](https://www.ask-codey.com/glossary/throw-javascript): A statement that deliberately raises an exception object.
- [try Block](https://www.ask-codey.com/glossary/try-block-javascript): A block containing code that may throw an exception.

## Freelancer

- [&lt;slot>](https://www.ask-codey.com/glossary/slot): The element that marks where assigned light-DOM content appears inside a shadow tree.
- [&lt;template>](https://www.ask-codey.com/glossary/template): The element that stores inert HTML fragments for later use.
- [AbortController](https://www.ask-codey.com/glossary/abortcontroller): An object that sends cancellation signals to APIs such as fetch.
- [Async Iterator](https://www.ask-codey.com/glossary/async-iterator): An iterator whose next() method returns a Promise for each result.
- [Autonomous custom element](https://www.ask-codey.com/glossary/autonomous-custom-element): A custom element with its own hyphenated tag name.
- [Babel](https://www.ask-codey.com/glossary/babel): A JavaScript compiler commonly used to transform newer syntax for older environments.
- [CommonJS](https://www.ask-codey.com/glossary/commonjs): The Node.js module format based on require() and module.exports.
- [Currying](https://www.ask-codey.com/glossary/currying): Transforming a function with several parameters into a sequence of one-parameter functions.
- [Custom element](https://www.ask-codey.com/glossary/custom-element): An author-defined HTML element whose behavior is registered through the Custom Elements API.
- [Customized built-in element](https://www.ask-codey.com/glossary/customized-built-in-element): A custom element that extends a built-in HTML element and uses the is attribute.
- [Cypress](https://www.ask-codey.com/glossary/cypress): A popular in-browser end-to-end testing tool.
- [Debounce](https://www.ask-codey.com/glossary/debounce): A technique that delays work until rapid calls have stopped for a chosen time.
- [Declarative shadow DOM](https://www.ask-codey.com/glossary/declarative-shadow-dom): HTML syntax that creates a shadow root from a template element during parsing.
- [Deep Copy](https://www.ask-codey.com/glossary/deep-copy-javascript): A copy of a collection and everything inside it, fully separate.
- [Dynamic Import](https://www.ask-codey.com/glossary/dynamic-import): The import() expression, which loads a module asynchronously when requested.
- [ESLint](https://www.ask-codey.com/glossary/eslint): A configurable tool that reports problems and style issues in JavaScript code.
- [Event Bubbling](https://www.ask-codey.com/glossary/event-bubbling): The phase in which an event moves from its target up through ancestor elements.
- [Event Capturing](https://www.ask-codey.com/glossary/event-capturing): The phase in which an event travels from ancestors down toward its target.
- [Event Delegation](https://www.ask-codey.com/glossary/event-delegation): Handling events for many descendants with one listener on a shared ancestor.
- [Event Object](https://www.ask-codey.com/glossary/event-object): An object containing information about an event that occurred.
- [Event Target](https://www.ask-codey.com/glossary/event-target): The object on which an event was originally dispatched.
- [for await...of](https://www.ask-codey.com/glossary/for-await-of): A loop that awaits and visits values from an async iterable.
- [Generator Function](https://www.ask-codey.com/glossary/generator-function): A function declared with function\* that can pause and yield several values.
- [Immutability](https://www.ask-codey.com/glossary/immutability): The practice of creating new values instead of changing existing ones.
- [Iterable](https://www.ask-codey.com/glossary/iterable-javascript): Anything you can loop over with for.
- [Iterator](https://www.ask-codey.com/glossary/iterator-javascript): Gives out items one at a time with next() and remembers where it is.
- [Iterator Protocol](https://www.ask-codey.com/glossary/iterator-protocol): The next() method contract used to produce a sequence of values.
- [Local Storage](https://www.ask-codey.com/glossary/local-storage): Browser key-value storage that remains after the page and browser are closed.
- [Map](https://www.ask-codey.com/glossary/map-javascript-2): A collection that associates unique keys with values.
- [Memoization](https://www.ask-codey.com/glossary/memoization): Caching a function's result so repeated inputs can return it without recalculation.
- [Mock Function](https://www.ask-codey.com/glossary/mock-function): A test function that records calls and can return controlled values.
- [Module Bundler](https://www.ask-codey.com/glossary/module-bundler): A tool that combines a module graph into files prepared for deployment.
- [Named slot](https://www.ask-codey.com/glossary/named-slot): A slot identified by name so matching host children can be assigned to it.
- [preventDefault()](https://www.ask-codey.com/glossary/preventdefault): An Event method that cancels the browser's default action when the event is cancelable.
- [Promise.all()](https://www.ask-codey.com/glossary/promise-all): A method returning a Promise that fulfills when every input fulfills or rejects when one rejects.
- [Promise.allSettled()](https://www.ask-codey.com/glossary/promise-allsettled): A method returning results for every input after all have settled.
- [Promise.any()](https://www.ask-codey.com/glossary/promise-any): A method returning the first fulfilled input or rejecting if all inputs reject.
- [Promise.race()](https://www.ask-codey.com/glossary/promise-race): A method returning a Promise that settles when the first input settles.
- [Regular Expression](https://www.ask-codey.com/glossary/regular-expression-javascript): A pattern for finding or checking text.
- [Session Storage](https://www.ask-codey.com/glossary/session-storage): Browser key-value storage kept for one tab's browsing session.
- [Set](https://www.ask-codey.com/glossary/set-javascript): A collection with no duplicates and no set order.
- [Shadow host](https://www.ask-codey.com/glossary/shadow-host): An element to which a shadow root is attached.
- [Shadow root](https://www.ask-codey.com/glossary/shadow-root): A document fragment that forms the root of a component's encapsulated shadow tree.
- [Shallow Copy](https://www.ask-codey.com/glossary/shallow-copy-javascript): A new collection that still shares the items inside it with the original.
- [Slot assignment](https://www.ask-codey.com/glossary/slot-assignment): The process that matches a shadow host's children with slots in its shadow tree.
- [Source Map](https://www.ask-codey.com/glossary/source-map): A file connecting transformed code locations back to the original source.
- [stopPropagation()](https://www.ask-codey.com/glossary/stoppropagation): An Event method that stops the event from moving to other elements.
- [Strict Mode](https://www.ask-codey.com/glossary/strict-mode): A JavaScript mode that rejects some error-prone behavior and changes certain runtime rules.
- [structuredClone()](https://www.ask-codey.com/glossary/structuredclone): A function that makes a deep copy of many built-in JavaScript values.
- [Symbol](https://www.ask-codey.com/glossary/symbol): A primitive whose values are always unique and can be used as object property keys.
- [Throttle](https://www.ask-codey.com/glossary/throttle): A technique that limits how often repeated calls may run.
- [Transpiler](https://www.ask-codey.com/glossary/transpiler): A tool that converts source code into another version of source code.
- [Tree Shaking](https://www.ask-codey.com/glossary/tree-shaking): Removing exports that a build can determine are unused.
- [Unit Test](https://www.ask-codey.com/glossary/unit-test-javascript): A small automated check of one focused unit of behavior.
- [WeakMap](https://www.ask-codey.com/glossary/weakmap): A Map-like collection with weakly held object or non-registered Symbol keys.
- [WeakSet](https://www.ask-codey.com/glossary/weakset): A Set-like collection holding objects weakly so it does not prevent garbage collection.
- [Web Worker](https://www.ask-codey.com/glossary/web-worker): A browser worker that runs JavaScript away from the page's main thread.
- [yield](https://www.ask-codey.com/glossary/yield-javascript): Hands back one value from a generator and pauses until the next one is needed.

## Master

- [Abstract Syntax Tree](https://www.ask-codey.com/glossary/abstract-syntax-tree): A tree representation of source-code structure used by parsers and tools.
- [Accessor Property](https://www.ask-codey.com/glossary/accessor-property): An object property defined by getter and setter functions.
- [Call Stack](https://www.ask-codey.com/glossary/call-stack): The stack of function calls currently being executed.
- [Comment node](https://www.ask-codey.com/glossary/comment-node): A DOM node containing the text of an HTML comment.
- [Data Property](https://www.ask-codey.com/glossary/data-property): An object property that stores a value directly.
- [Document node](https://www.ask-codey.com/glossary/document-node): The DOM node representing the whole document and serving as the tree's root.
- [Element node](https://www.ask-codey.com/glossary/element-node): A DOM node representing an element and its attributes.
- [Enumerability](https://www.ask-codey.com/glossary/enumerability): A property setting that controls whether common enumeration operations include that property.
- [Event Loop](https://www.ask-codey.com/glossary/event-loop-javascript): The runtime mechanism that schedules queued work when the call stack is available.
- [Execution Context](https://www.ask-codey.com/glossary/execution-context): The runtime state used to execute a script or function call.
- [FinalizationRegistry](https://www.ask-codey.com/glossary/finalizationregistry): An advanced API for requesting a callback after an object is garbage-collected.
- [Garbage Collection](https://www.ask-codey.com/glossary/garbage-collection-javascript): Automatic recovery of heap memory from objects a program can no longer reach.
- [Hidden Class](https://www.ask-codey.com/glossary/hidden-class): An engine optimization that internally groups objects with the same property layout.
- [Hoisting](https://www.ask-codey.com/glossary/hoisting): The effect of declarations being registered before execution reaches their source line.
- [Inherited Property](https://www.ask-codey.com/glossary/inherited-property): A property found through an object's prototype chain.
- [Inline Cache](https://www.ask-codey.com/glossary/inline-cache): An engine optimization that remembers prior property lookup or call results at a code location.
- [Just-in-Time Compilation](https://www.ask-codey.com/glossary/just-in-time-compilation-javascript): Runtime compilation of frequently executed JavaScript into optimized machine code.
- [Lexical Environment](https://www.ask-codey.com/glossary/lexical-environment): An internal record connecting names in one scope to values and an outer environment.
- [Macrotask](https://www.ask-codey.com/glossary/macrotask): An informal name for an event-loop task such as a timer or user event.
- [Memory Leak](https://www.ask-codey.com/glossary/memory-leak-javascript): Unwanted memory growth caused by retaining references to objects no longer needed.
- [Microtask Queue](https://www.ask-codey.com/glossary/microtask-queue): A high-priority queue used by Promise reactions and queueMicrotask callbacks.
- [Node document order](https://www.ask-codey.com/glossary/node-document-order): The order nodes appear when a document tree is traversed from beginning to end.
- [Own Property](https://www.ask-codey.com/glossary/own-property): A property defined directly on an object rather than inherited.
- [Property Descriptor](https://www.ask-codey.com/glossary/property-descriptor): A record controlling a property's value, accessors, writability, enumerability, and configurability.
- [Prototype](https://www.ask-codey.com/glossary/prototype): An object another object consults when a requested property is missing.
- [Prototype Chain](https://www.ask-codey.com/glossary/prototype-chain): The linked sequence of prototypes searched during property lookup.
- [Proxy Object](https://www.ask-codey.com/glossary/proxy-object): An object that intercepts operations such as reading, writing, and property lookup for another object.
- [Realm](https://www.ask-codey.com/glossary/realm): A JavaScript execution environment with its own global object and built-in objects.
- [Reflect API](https://www.ask-codey.com/glossary/reflect-api): Built-in methods that perform fundamental object operations and pair naturally with Proxy traps.
- [Run-to-Completion](https://www.ask-codey.com/glossary/run-to-completion): The rule that one JavaScript job finishes before another job begins on the same agent.
- [Scope Chain](https://www.ask-codey.com/glossary/scope-chain): The sequence of lexical environments searched to resolve a name.
- [Task Queue](https://www.ask-codey.com/glossary/task-queue): A queue of callbacks waiting to run as event-loop tasks.
- [Temporal Dead Zone](https://www.ask-codey.com/glossary/temporal-dead-zone): The period where a block-scoped variable exists but cannot be accessed before its declaration.
- [Text node](https://www.ask-codey.com/glossary/text-node): A DOM node that directly holds a string of characters.
- [Weak Reference](https://www.ask-codey.com/glossary/weak-reference-javascript): A reference to an object that does not prevent that object from being garbage-collected.

[More subjects in Languages](https://www.ask-codey.com/glossary/groups/languages)

Source: https://www.ask-codey.com/glossary/subjects/javascript
