在工作中无法避免全局变量造成的污染,TypeScript提供了namespace 避免这个问题出现 namespace:使用方法有:嵌套、抽离、导出、简化、合并
export namespace A {
export const a = false;
}
//支持抽离
import {A} from './namespace'
import a = A.a
console.log(A.a);
//支持简化
console.log(a);
//通过export关键字进行导出才能访问
namespace A {
export const a = 1;
}
console.log(A.a);
//支持多层嵌套
namespace A {
export namespace B {
export const b = 1;
}
}
// console.log(A.B.b);
//支持合并
namespace A {
export const a = false;
}
namespace A {
export const b = 1;
}
console.log(A.b, A.a);
使用场景:跨端的项目:H5 Android ios 小程序等等
namespace ios {
export const pushNotification = (
notification: Notification,
number: number
) => {};
}
namespace android {
export const pushNotification = (notification: Notification) => {};
export const callPhone = (phone: string) => {};
}