Bird
Raised Fist0
Typescriptprogramming~5 mins

Export syntax variations in Typescript

Choose your learning style10 modes available
Introduction

Exporting lets you share code parts so other files can use them. It helps keep code organized and reusable.

When you want to use a function from one file inside another file.
When you want to share a variable or constant across multiple files.
When you want to organize your code into modules for better structure.
When you want to export multiple things from a single file.
When you want to rename exports for clarity or to avoid name conflicts.
Syntax
Typescript
export const name = value;
export function func() {}
export class MyClass {}

const localVar = 5;
export { localVar };

export { localVar as renamedVar };

export default function() {}

export { something } from './otherFile';

export keyword makes code available outside the file.

default export means one main thing is exported from the file.

Examples
Exports a constant named pi so other files can use it.
Typescript
export const pi = 3.14;
Exports a function named greet.
Typescript
export function greet() {
  console.log('Hello!');
}
Exports secret but renames it to answer for outside use.
Typescript
const secret = 42;
export { secret as answer };
Exports a default class Person. Only one default export per file.
Typescript
export default class Person {
  constructor(name: string) {
    this.name = name;
  }
}
Sample Program

This example shows different export styles in mathUtils.ts. The main.ts file imports them all and uses them.

Typescript
// file: mathUtils.ts
export const add = (a: number, b: number) => a + b;
export const subtract = (a: number, b: number) => a - b;

const secretNumber = 7;
export { secretNumber as luckyNumber };

export default function multiply(a: number, b: number) {
  return a * b;
}

// file: main.ts
import multiply, { add, subtract, luckyNumber } from './mathUtils';

console.log(add(2, 3));
console.log(subtract(5, 1));
console.log(multiply(4, 6));
console.log(luckyNumber);
OutputSuccess
Important Notes

You can have many named exports but only one default export per file.

When importing default exports, you can choose any name you like.

Renaming exports helps avoid name clashes or clarify meaning.

Summary

Use export to share variables, functions, or classes.

Named exports let you export many things; default export is for one main thing.

You can rename exports to keep code clear and avoid conflicts.

Practice

(1/5)
1. Which of the following is the correct way to export a function named calculate as a named export in TypeScript?
easy
A. module.exports = calculate;
B. export default function calculate() { /*...*/ }
C. export = calculate;
D. export function calculate() { /*...*/ }

Solution

  1. Step 1: Understand named export syntax

    Named exports use the keyword export before the declaration to share multiple items.
  2. Step 2: Identify correct syntax for named function export

    The syntax export function calculate() {} correctly exports the function as named export.
  3. Final Answer:

    export function calculate() { /*...*/ } -> Option D
  4. Quick Check:

    Named export uses export before declaration [OK]
Hint: Use 'export' before function for named export [OK]
Common Mistakes:
  • Confusing default export with named export
  • Using CommonJS syntax like module.exports
  • Using 'export =' which is for different module style
2. Which of the following is the correct syntax to export a constant named PI as the default export in TypeScript?
easy
A. export const default PI = 3.14;
B. const PI = 3.14; export default PI;
C. export default const PI = 3.14;
D. export PI = 3.14;

Solution

  1. Step 1: Understand default export syntax

    Default export can export a value or variable by writing export default followed by the value or variable.
  2. Step 2: Identify correct way to export constant as default

    We first declare const PI = 3.14; then export it as default using export default PI;.
  3. Final Answer:

    const PI = 3.14; export default PI; -> Option B
  4. Quick Check:

    Default export uses 'export default' after declaration [OK]
Hint: Declare first, then export default variable [OK]
Common Mistakes:
  • Trying to combine 'const' and 'default' in one statement incorrectly
  • Using 'export const default' which is invalid
  • Confusing named export with default export syntax
3. What will be the output of the following TypeScript code?
export const a = 5;
export const b = 10;

import * as values from './module';
console.log(values.a + values.b);
medium
A. 15
B. undefinedundefined
C. Error: Cannot use import statement outside a module
D. NaN

Solution

  1. Step 1: Understand named exports and import * syntax

    The code exports two constants a and b as named exports. The import statement imports all exports as an object named values.
  2. Step 2: Calculate the sum of imported values

    Accessing values.a and values.b gives 5 and 10 respectively. Their sum is 15.
  3. Final Answer:

    15 -> Option A
  4. Quick Check:

    Named exports imported as object sum correctly [OK]
Hint: Import * as object to access all named exports [OK]
Common Mistakes:
  • Expecting default export when none is present
  • Confusing import syntax causing runtime errors
  • Assuming imported values are undefined
4. Identify the error in the following TypeScript export code:
const name = "Alice";
export { name as default };
medium
A. The variable 'name' must be declared with 'export' keyword.
B. The export statement is missing a semicolon.
C. You cannot rename a named export to default in this way.
D. There is no error; this code is correct.

Solution

  1. Step 1: Understand export renaming rules

    Renaming exports is allowed, but renaming a named export to default using this syntax is invalid in TypeScript.
  2. Step 2: Identify correct way to export default with rename

    To export a variable as default, use export default name; instead of renaming in braces.
  3. Final Answer:

    You cannot rename a named export to default in this way. -> Option C
  4. Quick Check:

    Default export must use 'export default' syntax [OK]
Hint: Use 'export default' for default export, not rename [OK]
Common Mistakes:
  • Trying to rename named export to default inside braces
  • Confusing export syntax for default and named exports
  • Assuming semicolon omission causes error
5. Given the following module code:
const x = 1;
const y = 2;
const z = 3;

export { x as default, y, z };

Which import statement correctly imports x as default and y and z as named imports?
hard
A. import x, { y, z } from './module';
B. import { default as x, y, z } from './module';
C. import { x, y, z } from './module';
D. import * as all from './module';

Solution

  1. Step 1: Understand export renaming and import syntax

    The module exports x renamed as default, and y, z as named exports.
  2. Step 2: Identify correct import syntax for default and named exports

    To import default export as x and named exports y, z, use import x, { y, z } from './module';.
  3. Final Answer:

    import x, { y, z } from './module'; -> Option A
  4. Quick Check:

    Default import first, then named in braces [OK]
Hint: Default import first, named imports in braces [OK]
Common Mistakes:
  • Using named import syntax for default export
  • Trying to import default as named
  • Using import * without destructuring
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