概述:
程式可劃分為多組編譯單元或模組。
每個模組都有其自己的作用域,即,在模組中建立的任何宣告(變數、函式、類等)在該模組之外都不可見,除非它們被顯式匯出。
與此相對,從另一個模組匯出的變數、函式、類、介面等必須首先匯入到模組中。
一、匯出
可以使用關鍵字export匯出頂層的宣告。
未匯出的宣告名稱被視為私有名稱,只能在宣告該名稱的模組中使用。
// 工具類 // 返回兩個number之和 export function getSum(x:number,y:number):number{ return x+y } // number取反 export function getNegativeNum(x:number):number{ return -x; }
二、匯入
靜態匯入
匯入宣告用於匯入從其他模組匯出的實體,並在當前模組中提供其繫結。匯入宣告由兩部分組成:
- 匯入路徑,用於指定匯入的模組;
- 匯入繫結,用於定義匯入的模組中的可用實體集和使用形式(限定或不限定使用)。
匯入繫結可以有幾種形式。
1、匯入繫結* as A表示繫結名稱“A”,透過A.name可訪問從匯入路徑指定的模組匯出的所有實體
匯入: import * as mathUtils from '../utils/MathUtils' 使用: mathUtils.getSum(1,2) mathUtils.getNegativeNum(1)
2、匯入繫結{ ident1, ..., identN }表示將匯出的實體與指定名稱繫結,該名稱可以用作簡單名稱
匯入: import {getSum,getNegativeNum } from '../utils/MathUtils' 使用: getSum(1,2) getNegativeNum(1)