Author -  Sai gowtham

JavaScript-Es6 Modules import and export statements

In this tutorial, we are going to learn about what are modules and how to use import and export statements in JavaScript.

What is a Module?

  • A module is a JavaScript file which helps us to split our app code into different files and make them available in other modules.

  • The modern browsers are supporting modules natively.

Export statement

If we put export in front of a function or variable or object that can available to import inside other modules.

Let’s see an example.

math.js

export function add(a,b){    return a+b
}

export const name = "math functions";

Now we can use this add function and name variable inside other modules by importing it.

Import statement

main.js
import {add,name} from './math.js';
const sum = add(1,2);

console.log(sum,name) ; // 3, "math functions"

In the above code, we have used import statement followed by curly-braces and file path.

Inside the curly braces, we have specified the name of the functionalities we need to import separated by the comma.

Now in our html file, we can add this main.js module using script tag with a type=module.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Learning modules</title>
</head>
<body>

<script src="main.js" type="module"></script></body>
</html>

Default exports

Default exports allow us to import the functionalities inside other modules with any name.

example:

division.js
export default function division(a,b){    return (a/b);
}

Now we can import this division function using any name we want.

import divide from './division.js';
const store = divide(4/2);

Aliasing exports

By using as keyword we can use different names to export the functions, methods instead of defined names.

Example:

math.js
function add(a,b){
    return a+b
}

const name = "math functions";
//aliasing exports
export {add as addition, name as heading}
main.js
import {addition,heading} from './math.js';
const sum = addition(1,2);

Aliasing imports

By using as keyword we can use different names to import the functions, methods instead of defined names.

math.js
function add(a,b){
    return a+b
}

const name = "math functions";

export {add,name}
main.js
//aliasing importsimport {add as addition,name as heading} from './math.js';

const sum = addition(1,2);

Import everything using * operator

Suppose we have a group of math functions like this.

math.js
function add(a,b){
    return a+b
}

function subtract(a,b){
    return a-b
}

function division(a,b){
    return (a/b);
}

export {add,subtract,division};

Now, we can import everything as an object by using * operator instead of importing them separately.

main.js
//this syntax makes available every export inside `math` object
import * as math from './math.js';
//usage
const sum = math.add(1,2);
const difference = math.subtract(10-9);
const divide = math.division(10-9);

Css Tutorials & Demos

How rotate an image continuously in CSS

In this demo, we are going to learn about how to rotate an image continuously using the css animations.

How to create a Instagram login Page

In this demo, i will show you how to create a instagram login page using html and css.

How to create a pulse animation in CSS

In this demo, i will show you how to create a pulse animation using css.

Creating a snowfall animation using css and JavaScript

In this demo, i will show you how to create a snow fall animation using css and JavaScript.

Top Udemy Courses

JavaScript - The Complete Guide 2023 (Beginner + Advanced)
JavaScript - The Complete Guide 2023 (Beginner + Advanced)
116,648 students enrolled
52 hours of video content
$14.99 FROM UDEMY
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
631,582 students enrolled
49 hours of video content
$24.99 FROM UDEMY
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
203,937 students enrolled
31.5 hours of video content
$14.99 FROM UDEMY