//安装
npm install -g typescript
//检查安装是否成功
tsc --version
//监听文件的改变
tsc -w index.ts // index.ts时监听的文件名,会生成对应的index.js文件
//输出对应js文件的打印值
node index.js
//初始化项目
npm init -y
//安装ts-node
npm i ts-node -g
//安装node环境检测依赖
npm i @types/node --save-dev
//运行
ts-node index.ts
布尔类型代表逻辑上的真或假。其关键字为boolean。数字不能0,1付给布尔变量
//正确
let onoff: boolean = false;
//错误
let onoff: boolean = 1;
数字类型用于表示整数或浮点数。其关键字为number。
let a: number = NaN; //NaN
let binaryLiteral: number = 0b1010; // 二进制
let octalLiteral: number = 0o744; // 八进制
let decLiteral: number = 6; // 十进制
let hexLiteral: number = 0xf00d; // 十六进制
字符串类型用于表示文本数据。其关键字为string。
let color: string = "blue";
color = 'red';
数组类型用于表示同一类型的元素的有序集合。其关键字可以有两种写法:type[]和Array
。
//一维数组
let list: number[] = [1, 2, 3];
let fruits: Array<string> = ['apple', 'banana', 'orange'];
//二维数组
let list: number[][] = [[1], [2], [3]];
let fruits: Array<Array<string>> = [['apple'], ['banana'], ['orange']];
//多维数组以此类推
Any类型可以用来表示任意类型。当我们不清楚变量的类型时,或者从动态代码库中获取数据时,通常会使用any类型。但应尽量避免过多地使用any。
let color: any= "blue";
color = 666;
let list: any[] = [1, 2, 3,'apple', 'banana', 'orange'];
void类型与any相反,表示没有任何类型。通常用于标记函数没有返回值。
function fn(): void {
console.log("This is a warning message");
}
let a: undefined = undefined;
let b: null = null;
Never类型表示那些永不存在的值的类型。通常是抛出异常或无限循环函数的返回类型。
function error(message: string): never {
throw new Error(message);
}
元组类型允许表示一个已知元素数量和类型的数组。其关键字为[type, type, …]。
let x: [string, number] = ['hello', 10];
枚举类型用于定义数值集合。其关键字为enum。
enum Color {
Red="Red1",
Green="Green2",
Blue="Blue3",
}
let c: Color = Color.Green;
console.log(c); //Green
//数字枚举
enum Color {
Red, //0
Green, //1
Blue, //2
}
let c: Color = Color.Green;
//数字枚举可以反向映射
console.log(Color[Color.Green]); //Green
通常清楚地该类型更确切的类型可用类型断言,其关键字为as。
//方式一:尖括号
let name: any = "my name id qiyan";
let strLength: number = (<string>name).length;
//方式二:as语法
let name: any = "my name id qiyan";
let strLength: number = (name as string).length;