🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to JavaScript Notes
Topic #235

Modules Namespace

The Module Namespace Object

When you use the syntax:

import * as name from "module";

JavaScript creates a module namespace object.

This is an immutable object that contains all the exported bindings from that module.

Example

// math_module.js

export const PI = 3.14159;

export function add(a, b) {

  return a + b;

}

export function multiply(a, b) {

  return a * b;

}

Module Namespace Support

Module namespace support refers to the mechanism that allows you to import all exports from a module into a single namespace object.


Note: The Module Namespace feature is a part of the ES Modules introduced in ECMAScript 2015 to help organize and access modules in a consistent way.


Module Namespace Features

Col 1 Col 2
Feature Description
Namespace A special object containing all exports from a module
Syntax import * as name from module
Purpose Organize, access, and reference module exports safely
Read Only You can access exports but not reassign them
Live Binding If an exported value changes in the module, the namespace reflects that change automatically
Enumerable Its properties are enumerable and correspond to named exports
Prototype The namespace is a plain object with no prototype (Object.getPrototypeOf(math) === null).

import { add } from "./math_module.js";
import math from "./math_module.js";
import * as math from "./math_module.js";

Module Namespace Export

Module namespace export refers to exporting an entire imported module namespace object from another module.

Namespace Export

Normally, you import all of a module's exports into a module namespace object like this:

Example

import * as math from "./math_module.js";

let myPi = math.PI;

let result = math.add(2, 3);

With module namespace exports, you can re-export that entire namespace from your own module - without having to import it first:

utilities.js

export * from "./math_module.js";

Example

import * as math from "./utilities.js";

Note: The syntax export * as name from "module" was added in ECMAScript 2020.


Syntax Overview

Col 1 Col 2
Syntax Result
export * from "module" Re-export all named exports individually (not as a namespace)
export * as name from "module" Re-export all exports grouped under a single namespace
export { name } from "module" Re-export specific exports

Aggregator Scripts

An aggregator script is a script used only to import and re-export items from other modules.

Instead of filling your top module with many import statements, you can use a single aggregator script to do it all.

Want to go beyond the notes?

Join CodingNow 2.0's JavaScript course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

Modules Namespace – FAQs

Quick answers about learning Modules Namespace in JavaScript.

This free note from CodingNow 2.0 explains Modules Namespace in JavaScript — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every JavaScript topic on CodingNow 2.0, including Modules Namespace, is 100% free with no signup required.
With focused practice, most students grasp Modules Namespace in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now