模块
命名空间
namespace tsfamily{
export const va:number = 10
export function myage():void {
console.log("my age is 10")
}
}
使用的时候
tsfamily.myage()
命名空间还可以嵌套
namespace tsfamily{
namespace myage{
export function myag(age: number):void {
console.log("my age is " + age)
}
}
}
tsfamily.myage.myag(10)
命名空间用的很少,尽量别用
模块
每个模块都有自己的作用域,只有明确导出的部分才能在其它模块中使用,如果跟 go 语言作类比的话,go 自带模块,同一个 package 下的就是一个模块,开头大写就默认可导出。
创建模块
// myModule.ts
export const myDate: numer = 10
export function myFunction():void {
console.log("my function")
}
导入并使用模块
import {myDate, myFunction} from "./myModule"
myFunction()