// 1.unknown 表示未知类型的值
let e:unknown;
let s:string;
s='123';
if(typeof e=== 'string'){
s=e
}
//类型断言,可以告诉解析器变量的实际类型
//语法:
// 变量 as 类型
// <类型>变量
s = e as string;
s = <string>e
// 2.any 任意变量
let laan :any;
laan = 1;
// 3.number 数字类型 任意数字
let num:number;
num = 2;
// 4.string 字符串类型
let str:string;
str = 'hi';
//5.boolean 布尔类型
let bool:boolean;
bool = true;
//6.void 用来表示空,已函数为例,就表示没有返回值
function fn(): void{
};
//7.never 表示永远不会返回结果
function fn2(): never{
};
//8.object 表示一个js对象
let a:object;
a = {};
a=function(){
};
//{}用来指定对象中可以包含哪些属性
//语法:{属性名:属性值,属性名:属性值}
// 在属性名后面加上?,表示属性是可选的
let b:{name:string,age?:number};
b={name:'小明',age:18}
//[proName: string]: any 表示任意类型的属性
let c:{name:string,[propName:string]: any};
c={name: '猪八戒',age:18,gender:'男'};
//设置函数结构的类型声明
// 语法:(形参:类型,形参:类型 ...)=>返回值
let d = function(n1:string, n2: string): number{
return 10;
}
// string[] 表示字符串数组,number[] 表示数字数组
// Array<类型>
let strArr:number[];
strArr = [1,2,3]
let g:Array<number>;
g = [1,2,3]
// tuple 元组: 固定长度的数组
let h:[string,string];
h = ['aa','bb'];
// enum 枚举
enum Gender{
male = 0,
female = 1
}
let i:{name:string,gender: Gender};
i={
name:'xxx',
gender: Gender.male
}
//可以使用 | 来连接多个类型(或)
let huo:boolean | string;
huo = true;
huo = 'str';
//类型别名
type myType = 1 | 2 | 3 | 4;
let k: myType
k = 1;
k = 2;
//&表示同时
let jj : {name:string} & { age: number};
jj={name:'xxx',age:12}
ts文件自动编译 :1. tsc -init (安装插件,配置环境) 2.tsc (执行自动编译)