二、typescript的数据类型

let a : any;
// 表示a为任意类型的变量

let b : unknown;
// 表示b为未知类型的值

let c : string;
// 表示c为字符串类型的值

let d : number;
//表示d为数字类型的值

let e :boolean;
// 表示e为boolean类型的值

let f : 10 | 20;
// 表示f为字面量10或者20,只能从列出的字面量中选择

// 类型断言
let g : string
 g  = c as string;
 g  =  c;

 function add():void{}
// void 表示该函数返回值为空

function desc():never{
 throw new Error("出错啦!");
}
// 表示函数无返回值

//h 为js的对象,不常用
let h : object;
 a = {}
a = function(){}

// {} 用来指定对象中可以包含哪些属性
// 语法: { 属性名:属性值,属性名:属性值, }

let i :{ name: string }
// 表示当前只能有一个属性name,且属性name必须为字符串

let j : { name? : string }
// 在属性名后面加一个问号表示可选属性

let k :{ name:string, [propName:string]:any }
// 表示可以有任意属性,同时也必须有name属性

// 设置函数结构的类型声明
// 语法:(形参:类型,形参:类型)=> 返回值
let l : (a:number, b:number) => number;

let m : string[];
// string[] 表示字符串类型的数组

let n : number[];
n = [1,2,3,4];
// n = [1,2,3,"1"]; 出错

let o : Array;
// 表示o也为数字类型的数组

// 元组:就是指固定长度的数组
// 语法:[类型,类型,类型]; 一般不会特别长,特别长的话一般就直接使用数组即可
let p : [string,string];
p = ['1','2'];

// enum 枚举类型
enum q  {
 female,
 male,
}

let r : { name:string, gender:q};
r = {
 name:'孙悟空',
 gender:q.male
}

// console.log(r.gender === q.male)

let s : {name:string} & {age:number};
// 表示name属性和age属性都必须要有

s = {name:'孙悟空',age:18};

// 类型的别名
type myType = 1 | 2 | 3 | 4 | 5;
let t : myType;

你可能感兴趣的:(typescript,typescript)