การสร้าง ES module ใน JavaScript

ตอนนี้เรามาเริ่มศึกษาโมดูลกัน แต่ละโมดูลควรเป็นไฟล์แยกต่างหาก ตัวแปรและฟังก์ชันที่เราวางไว้ในไฟล์นี้จะไม่สามารถเข้าถึงได้จากภายนอกไฟล์ นี่คือข้อได้เปรียบของโมดูล - เราสามารถสร้างตัวแปรและฟังก์ชันใดๆ ก็ได้โดยไม่ต้องกลัวว่าจะขัดแย้งกับชื่อจากไลบรารีอื่น

ตัวแปรและฟังก์ชันที่เราต้องการให้มองเห็นจากภายนอก เราต้องส่งออก (export) โดยใช้คำสั่ง export

มาลองดูตัวอย่างกัน สร้างโมดูล math ซึ่งจะเป็นไลบรารีฟังก์ชันสำหรับการดำเนินการทางคณิตศาสตร์

วางโมดูลของเราในไฟล์ math.js และสร้างฟังก์ชันหลายๆ ฟังก์ชันในนั้น:

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

ให้ฟังก์ชันสำหรับการหารากที่สองและรากที่สามเป็นฟังก์ชันหลักและจะถูกส่งออกไปภายนอก ส่วนฟังก์ชันสำหรับการปัดเศษเป็นฟังก์ชันเสริมและจะไม่ถูกส่งออก มาเขียนคำสั่ง export ให้กับฟังก์ชันที่ต้องการ:

src/math.jsexport function root2(num) {
  return round(num ** (1 / 2));
}
export function root3(num) {
  return round(num ** (1 / 3));
}
function round(num) {
  return num.toFixed(2);
}
Задание 1

สร้างโมดูลที่มีฟังก์ชัน pow2 สำหรับการยกกำลังสองของตัวเลข, pow3 สำหรับการยกกำลังสาม และ pow4 สำหรับการยกกำลังสี่