1.object为一个对象,方法也可以是一个对象:
//object表示一个js对象
let a: object;
a = {};
a = function () { }
2.属性后面加问号表示属性可选:
//{}用来指定对象可以包含哪些属性
//语法:{属性名:属性值,属性名:属性值}
//在属性名后面加上? ,表示属性是可选的
let b: { name: string,age?:number };
b = {name:'张三',age:18}
3.后面不知道有多少个属性以及属性类型,可以使用这种写法:
//[proName:string]:any 表示任意类型的属性
let c: { name: string, [propName: string]: any };
c = { name: '李四', age: 18, gender: '男' };
4.函数结构的类型的语法形式写法:
//设置函数结构的类型声明:
// 语法:(形参:类型,形参:类型 ...)
let d: (a: number, b: number) => number;
d = function (n1: number, n2: number): number {
return n1+n2;
}
5.定义各种类型的数组 string 、number等:
//string
let e: string[];
e = ['a', 'b', 'c'];
//number
let f: number[];
//定一个明确类型的数组
let g: Array<number>;
g = [1,2,3]
6.元组tuple类型的写法、元组就是固定长度的数组:
//语法:[类型、类型、类型]
let h: [string, number];
h = ['hello',123]
7. enum 枚举类型【ts中新增的】:
enum Gender {
Male = 0,
Female = 1
}
let i: { name: string, gender: Gender };
i = {
name: '张三',
gender:Gender.Male //男
}
console.log(i.gender === Gender.Male); //true
8.可以使用&运算符来表示同时:
//j可以是字符串或数字
let j: string & number;
//链接两个对象
let j: { name: string } & { age: number };
j = { name: '张三', age: 18 };
9.给类型起别名,使用起来更方便:
//定义一个类型mytpye它可以是1、2、3、4中的任意一种类型
type mytpye = 1 | 2 | 3 | 4;
let k1: mytpye;
let k2: mytpye;
let k3: mytpye;
//不报错,编译成功,正常使用
k1 = 1;