typescript: 强类型语言;面向对象的语言;开发时就能提示报错信息
// 基本数据类型:string、number、boolean、null、undefined、symbol、void、bigint
let flag:boolean = false
let str:string = 15
// 联合类型
let id :string | number;
// 任意类型
let s :any = '1'
// 引用数据类型object:array:数组、tuple:元组、enum:枚举
//数组类型定义
let arr:number[] = [1,2,3,4,5]
let arr:string[] = ['1','2']
let arr:any[] = [1,2,'3', true,{id:1}]
//泛型 <T> T表示变量 任何类型
//泛型(Generics)是指在定义函数、接口、类的时候,不预先指定具体类型
let arr:Array<number | string> = [1,2,'3']
function f<T>(x:T,y:T):T[] {
return [x,y]
}
f<number>(2,3)
f<number|string>(2,'3')
//元组:数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。
let xcatliu: [string, number] = ['Xcat Liu', 25]
//枚举:枚举我们可以定义一些带名字的常量
enum type {
man,
woman=0
}
console.log(type.man); // 0
//对象类型类型定义
//接口(Interfaces)可用于对 对象形状 进行描述
interface IPerson {
name?:string; // name可有可无
age:number;
sex:string;
[propName:string]:any; // 任意属性
}
let zx:IPerson = { // 对象object受到接口的约束
name:'zx',
age:12,
sex:'man',
obj: {id:1}
}
// 函数类型定义 输入类型 输出类型
function f(x:number,y?:number):number[] {
return [x,y]
}
f(1,3) f(1)