面向未來的 ES6 模組標準

2022-08-27 21:57:14 字數 1457 閱讀 8921

既然模組化已經越來越重要,那麼從語言層面上直接去解決這個問題就顯得很有必要(況且其他語言早就有了)。於是 es6 直接在語言標準的層面上,實現了模組功能,而且實現得相當簡單,完全可以取代 commonjs 和 amd 規範,成為瀏覽器和伺服器通用的模組解決方案。

簡單來說,es6 模組的設計思想就是:乙個 js 檔案就代表乙個 js 模組。在模組中你可以使用 import 和 export 關鍵字來匯入或匯出模組中的東西。

es6 模組主要具備以下幾個基本特點:

export 命令用於規定模組的對外介面。如果你希望外部能夠讀取模組內部的變數,函式或類等,就必須使用 export 關鍵字輸出該內容。

下面我們以個人所得稅計算為乙個模組,來具體使用下 export:

// 個人所得稅計算模組

// personal-income-tax.js

// 個稅起徵點

export const taxbasicnum = 3500;

// 稅率等級

export const taxratiolevel = [

, ,

, ,

, ,

];// 所繳稅收

// 應納稅所得額 = 應發工資 - 五險一金 - 個稅起徵點

// 所繳稅收 = 應納稅所得額 * 稅率 - 速算扣除數

export function caltax (num, insurance)

return tax;

}// 實發工資

export function calwages(num, insurance)

使用 export 命令定義了模組的對外介面以後,其他 js 檔案就可以通過 import 命令載入這個模組。現在我們匯入前面設計的個人所得稅計算模組。

// main.js

import from './personal-income-tax';

// 可以使用 taxbasicnum 輸出一段話,說明個稅的起徵點是多少

console.log(`個稅起徵點為:taxbasicnum`);

// 還可以使用 taxratiolevel 資料輸出乙個**,對應各個等級的稅率,這裡就不演示了

// 計算20000元繳納了五險一金3000後,應該繳納多少稅收及實際稅後工資為多少

let tax = caltax(20000, 3000);

let wages = calwages(20000, 3000);

通過上面的 export 和 import 的使用,是不是覺得 es6 的模組很方便,也很簡單。當然上面都是些基礎的運用,而關於 es6 模組網上也已經有了很多詳細的文件,我們在這就不一一介紹了,這裡推薦兩篇詳細文件以供參考學習:

注:目前現代瀏覽器對 es6 模組支援程度不同,所以一般都是使用 babel 把 es6 **轉化為相容的 es5 版本的**。

ES6物件導向

前言 在es5中,對於物件沒有統一規定的寫法,我們只能以函式的形式來寫乙個物件。而在es6語法中,我們有了class,constructor,extends,supper 等關鍵字來實現物件導向。下面將介紹es6物件導向的使用 class person 類的方法 showname 使用new關鍵字建...

ES6物件導向

constructor 建構函式 建構函式就是new 類名 例項化物件時執行的函式 所有類中的建構函式都叫constructor 當我們new 類名 就是執行了constructor這個函式 let b new box 5,10 物件中建構函式與當前物件的類是相同 console.log b.con...

es6模組暴露

es6模組匯入和匯出 匯出 export,export default 可以匯出變數,函式,物件,檔案,模組 匯入 import function add 1 export add 匯入 import from add.js 匯入時要加,呼叫 add 可以匯出多個,加 export export a...