【TS】学习个人记录知识点(类型阶段)02

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;

猜你喜欢

转载自blog.csdn.net/ONLYSRY/article/details/128479078