# Creating an ES module in JavaScript

Now let's start learning about modules. Each module must be a separate file. The variables and functions that we place in this file will not be accessible from outside the file. This is the advantage of modules - we can create any variables and functions without fear of conflict with names from other libraries.

Those variables and functions that we want to make visible from the outside, we must export using the `export` command.

Let's try with an example. Let's create the `math` module that will provide a library of functions for mathematical operations.

Let's place our module in the `math.js` file and make several functions in it:

`function root2(num) { return round(num ** (1 / 2)); } function root3(num) { return round(num ** (1 / 3)); } function round(num) { return num.toFixed(2); }`

Let the functions for extracting roots be the main ones and will be exported to the outside, and the function for rounding will be auxiliary and will not be exported. Let's write the `export` command to necessary functions:

`export function root2(num) { return round(num ** (1 / 2)); } export function root3(num) { return round(num ** (1 / 3)); } function round(num) { return num.toFixed(2); }`

Create a module containing the function `pow2` to raise a number to the second power, `pow3` to raise to the third, and `pow4` to raise to the fourth.

←→
↑
en ru