通常用class定义一个类
class Person{name:stringage:numberconstructor(name:string,age:number){this.name = name;this.age = age;}getName():void{console.log(this.name);}}var p:Person = new Person("cheng",20);p.getName();
#当没有构造函数的时候,代码底层有自动补全构造函数class Person{/* 实例的name */name:stringage:numbergetName():void{console.log(this.name);}}var p:Person = new Person();p.getName();
2.3.1、static
#static修饰的变量是类所共有的,只能通过类名去调用。class Person{/* 实例的name */static skill:string = "js";name:stringage:numbergetName():void{console.log(Person.skill)console.log(this.name);}}var p:Person = new Person();p.getName();
2.3.2、泛型
泛型:任意类型好处:兼顾了灵活性和类型检查
#定义一个泛型函数function goTest<T>(s:T):T{return s;}goTest<string>("1000");goTest<number>(100);
function goTest<T>(s:T):T{return s;}/* 灵活性或类型检查 *//* 泛型:任意类型 */var arrr:Array<number> = [1,2,3];goTest<string>("1000");goTest<number>(1000);goTest<object>({name:"cheng"});
