Importing values lets you use code or data from other files. This helps keep your code organized and reusable.
Importing values in Javascript
Introduction
Syntax
Javascript
import { valueName } from './fileName.js'; // or for default export import valueName from './fileName.js';
Use curly braces {} to import named exports.
Use no braces to import the default export.
Examples
greet from the file greetings.js.Javascript
import { greet } from './greetings.js';
messages.js and names it message.Javascript
import message from './messages.js';
pi and e, from constants.js.Javascript
import { pi, e } from './constants.js';
Sample Program
We define a function greet in greetings.js and export it. Then in main.js, we import greet and use it to say hello to Alice.
Javascript
// greetings.js export function greet(name) { return `Hello, ${name}!`; } // main.js import { greet } from './greetings.js'; console.log(greet('Alice'));
Important Notes
File paths in import statements usually start with ./ for the same folder or ../ for parent folders.
Make sure your environment supports ES modules or use a bundler like Webpack.
Import statements must be at the top level, not inside functions or blocks.
Summary
Importing lets you use code from other files easily.
Use curly braces for named imports, no braces for default imports.
Keep your code organized by splitting it into modules.
Practice
1. What is the correct way to import a named export
calculate from a file math.js?easy
Solution
Step 1: Understand named imports syntax
Named exports must be imported using curly braces around the exact exported name.Step 2: Match syntax with example
The syntaximport { calculate } from './math.js';correctly imports the named exportcalculate.Final Answer:
import { calculate } from './math.js'; -> Option BQuick Check:
Named import uses curly braces [OK]
Hint: Use curly braces for named imports, no braces for default [OK]
Common Mistakes:
- Using default import syntax for named exports
- Forgetting curly braces around named imports
- Trying to access named export as property after import
2. Which of the following is the correct syntax to import the default export from
utils.js?easy
Solution
Step 1: Recall default import syntax
Default exports are imported without curly braces using any name you choose.Step 2: Identify correct syntax
import utils from './utils.js';correctly imports the default export.Final Answer:
import utils from './utils.js'; -> Option DQuick Check:
Default import no braces [OK]
Hint: Default imports have no braces, named imports do [OK]
Common Mistakes:
- Using curly braces for default import
- Incorrect braces placement
- Using * as for default import
3. Given
export const name = 'Alice'; in person.js, what will be the output of this code?import { name } from './person.js';
console.log(name);medium
Solution
Step 1: Understand named export and import
The variablenameis exported as a named export and imported correctly with curly braces.Step 2: Check the logged value
Sincenameis 'Alice',console.log(name);outputs 'Alice'.Final Answer:
Alice -> Option AQuick Check:
Named import logs exported value [OK]
Hint: Named import logs exported value directly [OK]
Common Mistakes:
- Forgetting curly braces causing ReferenceError
- Expecting default import without braces
- Confusing undefined with missing import
4. What is wrong with this import statement?
Assuming
import { sum } from './math.js'
console.log(sum(2, 3));Assuming
sum is a default export in math.js.medium
Solution
Step 1: Identify export type
The problem statessumis a default export, so it should be imported without curly braces.Step 2: Check import syntax
Using curly braces imports named exports, soimport { sum }is incorrect for default export.Final Answer:
Using curly braces for default export import -> Option CQuick Check:
Default export no braces [OK]
Hint: Default export imports never use braces [OK]
Common Mistakes:
- Confusing default and named imports
- Ignoring export type in import
- Assuming semicolon is mandatory for correctness
5. You have two files:
What will happen when running
// colors.js
export const red = '#FF0000';
export const blue = '#0000FF';
export default 'colors';
// app.js
import colors, { red, green } from './colors.js';
console.log(colors, red, green);What will happen when running
app.js?hard
Solution
Step 1: Analyze exports in colors.js
There is a default export 'colors' and named exports 'red' and 'blue'. No 'green' export exists.Step 2: Analyze import statement in app.js
It imports default ascolorsand namedred, butgreendoes not exist, causing a SyntaxError during module loading.Final Answer:
SyntaxError due to invalid import -> Option AQuick Check:
Missing named export causes import error [OK]
Hint: Missing named exports cause import errors [OK]
Common Mistakes:
- Thinking missing named import becomes undefined
- Confusing default and named imports
- Expecting ReferenceError at runtime
Recommended
Ready to prove it?
Pass the test and this pattern moves unknown
10 questions ~5 mineasy hard
