Bird
Raised Fist0
Javascriptprogramming~20 mins

Importing values in Javascript - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Import Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this ES module import?
Given the following module mathUtils.js exporting a constant, what will be logged by main.js?
Javascript
/* mathUtils.js */
export const pi = 3.14;

/* main.js */
import { pi } from './mathUtils.js';
console.log(pi);
Anull
Bundefined
CReferenceError
D3.14
Attempts:
2 left
💡 Hint
Remember that named exports can be imported with curly braces.
❓ Predict Output
intermediate
2:00remaining
What happens if you import a non-exported value?
Consider this module data.js and the import in app.js:
Javascript
/* data.js */
const secret = 'hidden';
export const visible = 'shown';

/* app.js */
import { secret } from './data.js';
console.log(secret);
ASyntaxError
Bundefined
CTypeError
Dhidden
Attempts:
2 left
💡 Hint
Only exported values can be imported.
❓ Predict Output
advanced
2:00remaining
What is the output when importing a default export?
Look at these two files:
Javascript
/* greet.js */
export default function greet() {
  return 'Hello!';
}

/* index.js */
import greet from './greet.js';
console.log(greet());
Aundefined
BHello!
CTypeError
DSyntaxError
Attempts:
2 left
💡 Hint
Default exports are imported without curly braces.
❓ Predict Output
advanced
2:00remaining
What error occurs when mixing default and named imports incorrectly?
Given this module and import:
Javascript
/* utils.js */
export default function() { return 'default'; }
export const named = 'named';

/* app.js */
import { default as def, named } from './utils.js';
console.log(def(), named);
AReferenceError
BTypeError
Cdefault named
DSyntaxError
Attempts:
2 left
💡 Hint
You can rename default import using named import syntax.
🧠 Conceptual
expert
2:00remaining
Which option correctly imports all exports as an object?
You want to import everything from module.js as a single object named mod. Which import statement is correct?
Aimport * as mod from './module.js';
Bimport mod from './module.js';
Cimport { * as mod } from './module.js';
Dimport { mod } from './module.js';
Attempts:
2 left
💡 Hint
Use the star (*) syntax to import all exports as an object.

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

  1. Step 1: Understand named imports syntax

    Named exports must be imported using curly braces around the exact exported name.
  2. Step 2: Match syntax with example

    The syntax import { calculate } from './math.js'; correctly imports the named export calculate.
  3. Final Answer:

    import { calculate } from './math.js'; -> Option B
  4. 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

  1. Step 1: Recall default import syntax

    Default exports are imported without curly braces using any name you choose.
  2. Step 2: Identify correct syntax

    import utils from './utils.js'; correctly imports the default export.
  3. Final Answer:

    import utils from './utils.js'; -> Option D
  4. 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

  1. Step 1: Understand named export and import

    The variable name is exported as a named export and imported correctly with curly braces.
  2. Step 2: Check the logged value

    Since name is 'Alice', console.log(name); outputs 'Alice'.
  3. Final Answer:

    Alice -> Option A
  4. 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

  1. Step 1: Identify export type

    The problem states sum is a default export, so it should be imported without curly braces.
  2. Step 2: Check import syntax

    Using curly braces imports named exports, so import { sum } is incorrect for default export.
  3. Final Answer:

    Using curly braces for default export import -> Option C
  4. 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

  1. Step 1: Analyze exports in colors.js

    There is a default export 'colors' and named exports 'red' and 'blue'. No 'green' export exists.
  2. 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.
  3. Final Answer:

    SyntaxError due to invalid import -> Option A
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard