What is the purpose of the import statement in JavaScript?
The import statement is used to bring functions, objects, or values from another file or module into the current file so you can use them.
Click to reveal answer
beginner
How do you import a single named value called <code>sum</code> from a module named <code>math.js</code>?
You write: <br><code>import { sum } from './math.js';</code><br>This imports only the <code>sum</code> function or value from the <code>math.js</code> file.
Click to reveal answer
intermediate
What is the difference between a default import and a named import?
A default import brings in the main exported value from a module without curly braces, like <code>import myFunc from './file.js';</code>. Named imports require curly braces and import specific exported values, like <code>import { myFunc } from './file.js';</code>.
Click to reveal answer
intermediate
How do you import all exported values from a module as a single object?
You use the syntax: <br><code>import * as utils from './utils.js';</code><br>This imports everything exported from <code>utils.js</code> as properties of the <code>utils</code> object.
Click to reveal answer
beginner
Can you import values from a module without specifying the file extension?
In modern JavaScript environments, you usually need to include the file extension like .js when importing modules, especially in browsers. Some tools like bundlers may allow omitting it.
Click to reveal answer
Which syntax correctly imports a default export named calculate from math.js?
Aimport calculate from './math.js';
Bimport { calculate } from './math.js';
Cimport * as calculate from './math.js';
Dimport './math.js';
✗ Incorrect
Default exports are imported without curly braces.
How do you import only the named export multiply from math.js?
Aimport { multiply } from './math.js';
Bimport multiply from 'math.js';
Cimport * as multiply from './math.js';
Dimport multiply from './math.js';
✗ Incorrect
Named exports require curly braces around the name.
What does this import statement do? import * as helpers from './helpers.js';
AImports nothing
BImports the default export as helpers
CImports only the named export helpers
DImports all exports as properties of the helpers object
✗ Incorrect
The * as syntax imports all exports as an object.
Which is true about importing modules in JavaScript?
AYou can import values without specifying the file path.
BYou can import multiple named exports in one statement.
CYou must always use curly braces for default imports.
DYou cannot import from local files.
✗ Incorrect
You can import multiple named exports like: import { a, b } from './file.js';
What happens if you try to import a named export that does not exist in the module?
AJavaScript throws an error at compile time.
BThe import works but the value is undefined.
CJavaScript throws an error at runtime.
DThe module exports all values by default.
✗ Incorrect
Trying to import a non-existent named export causes a runtime error.
Explain how to import a default export and a named export from the same module.
Think about how you write import statements with and without curly braces.
You got /3 concepts.
Describe the difference between importing a single named export and importing all exports as an object.
Consider the use of curly braces and the * as syntax.
You got /3 concepts.
Practice
(1/5)
1. What is the correct way to import a named export calculate from a file math.js?
easy
A. import './math.js'.calculate;
B. import { calculate } from './math.js';
C. import * as calculate from './math.js';
D. import calculate from './math.js';
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 syntax import { calculate } from './math.js'; correctly imports the named export calculate.
Final Answer:
import { calculate } from './math.js'; -> Option B
Quick 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
A. import { default } from './utils.js';
B. import * as utils from './utils.js';
C. import utils from { './utils.js' };
D. import utils from './utils.js';
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 D
Quick 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
A. Alice
B. ReferenceError
C. undefined
D. null
Solution
Step 1: Understand named export and import
The variable name is exported as a named export and imported correctly with curly braces.
Step 2: Check the logged value
Since name is 'Alice', console.log(name); outputs 'Alice'.
Final Answer:
Alice -> Option A
Quick 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?
import { sum } from './math.js'
console.log(sum(2, 3));
Assuming sum is a default export in math.js.
medium
A. Missing semicolon after import
B. Wrong file path
C. Using curly braces for default export import
D. sum is not a function
Solution
Step 1: Identify export type
The problem states sum is a default export, so it should be imported without curly braces.
Step 2: Check import syntax
Using curly braces imports named exports, so import { sum } is incorrect for default export.
Final Answer:
Using curly braces for default export import -> Option C
Quick 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:
// 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
A. SyntaxError due to invalid import
B. Logs: colors #FF0000 undefined
C. Logs: undefined #FF0000 undefined
D. ReferenceError: green is not defined
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 as colors and named red, but green does not exist, causing a SyntaxError during module loading.
Final Answer:
SyntaxError due to invalid import -> Option A
Quick 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 unknownstrongwhile earning +1 Grip toward your certificate.