JavaScript Modules Import
You can import modules in two ways, based on if they are named exports or default exports.
Import
You can import modules in two ways, based on if they are named exports or default exports.
Example
Example Code
javascriptimport { name, age } from "./person.js";Example
Example Code
javascriptimport message from "./message.js";Named Imports
Named imports match named exports in a module.
They let you import one or more explicitly named variables or functions from a module.
You must use the exact names enclosed in curly { } braces:
Examples
Example Code
javascriptimport { name, age } from "./person.js";Named Import Rules
Import names must match export names:
Example
Example Code
javascriptimport { addd } from './math.js'; // ❌ Error (name mismatch)You can import multiple items at once:
Example
Example Code
javascriptimport { add, PI } from './math.js';You can rename them using as:
Example
Example Code
javascriptimport { add as addition } from './math.js';Default Import
Default import is the way to import the primary exported value from a module - the one that was exported using export default.
Defalt imports are the counterpart to default exports.
You can give a default export any name you like, during import, without using curly braces:
Examples
Example Code
javascriptimport text from "./message.js";Default Import Rules
Default import imports single default exports
Example
Example Code
javascriptimport message from "./message.js";There is no required name. Renaming is allowed.
Example
Example Code
javascriptimport text from "./message.js";Default + Named Import
A module can provide one main function plus some helpers:
Module File
Example Code
javascriptexport default function parse() { ... }
export function validate() { ... }
export function format() { ... }Importing All
You can import all named exports from a module as a single object using the * syntax.
Examples
Example Code
javascript// Import all named exports from person.js
import * as person from "./person.js";Default Import vs Named
| Feature | Default Import | Named Import |
|---|---|---|
| Typical use case | One main feature per module | Multiple features |
| Matches export name? | No (you choose) | Yes (must match) |
| Can rename freely? | Always | Only with as |
| Export count | Only one default export allowed | Multiple exports allowed |
Interactive Code Examples
Example 1
javascriptimport { name, age } from "./person.js";Example 2
javascriptimport message from "./message.js";Examples
javascriptimport { name, age } from "./person.js";Example 4
javascriptimport { addd } from './math.js'; // ❌ Error (name mismatch)Example 5
javascriptimport { add, PI } from './math.js';Example 6
javascriptimport { add as addition } from './math.js';