1、命名空间:----------
命名空间:namespace 为防止不同程序员之间命名冲突,命名空间里面的类需要export之后外部才能使用。不同模块之间使用命名空间,namespace也需要被export,在对应使用的地方import它
在低版本中引入的方式是使用三个斜杠,然后写文件夹地址 ///<reference path="A.ts" />, ts3.0以后的版本通常用import引入
export namespace A{
export class Test{
name:string;
}
}
使用: let a = new A.Test(); 不同的命名空间里面的类命名相同相互不影响。
2、装饰器:-------------
装饰器是一个方法,可以注入到类,方法,属性参数上来扩展类,属性,方法,参数的功能
常见装饰器:类装饰器,属性装饰器,方法装饰器,参数装饰器。
装饰器的写法:普通装饰器(无法传参),装饰器工厂(可传参)
1)、类装饰器:类装饰器在类声明之前(紧靠着类声明)。类装饰器应用于类构造函数,可以用来监视、修改或替换定义。传入一个参数
(1.1)装饰器工厂:
function Logclass(parmas:any){
return function(target:any){
console.log(parmas); // parmas是传入的参数(实参) http://www.123.com
console.log(target); //target是其装饰的类本身
target.prototype.ios = function(){
//可以在target的原型上添加方法和属性
console.log("I am iosFunction");
return true;
}
}
}
@Logclass("http://www.123.com")
class Http{
constructor(){
}
getData(