TypeScript安装
TypeScript 的命令行工具安装方法如下:npm install -g typescript
以上命令会在全局环境下安装 tsc 命令,安装完成之后,我们就可以在任何地方执行 tsc 命令了
直接运行ts代码,需要手动安装插件:
//全局安装ts-node
npm i -g ts-node
//在项目目录下,生成tsconfig.json
tsc --init
npm安装package.json中的依赖 npm i
package.json文件内容
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "1.js",
"directories": {
"test": "test"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@types/node": "^20.10.4",
"ts-node": "^10.9.2",
"tslib": "^2.6.2",
"typescript": "^5.2.2"
}
}
各类型定义
简单类型
let flag: boolean = false;
let num: number = 15;
let str: string = "abc";
let u: undefined = undefined;
let n: null = null;
//声明的变量有多种类型--联合类型声明
let id: number | string = 10;
//任意类型
let x: any = true;
x = 111;
x = "222";
引用类型
//数组定义
let arr = [1, 2, 3, "4"];
let arr1: number[] = [1, 2, 3];
let arr2: string[] = ["A", "B"];
let arr3: (number | string)[] = [1, 2, 3, "4"];//联合类型声明
let arr4: any[] = [1, 2, 3, "4"];
//数组泛型
let arr5: Array<number> = [1, 2, 3];
let arr6: Array<number | string> = [1, 2, 3, "4"];
接口
接口(Interfaces)可以用于对「对象的形状(Shape)」进行描述。声明对象的模版
//对象定义
//定义接口,首字母大写
interface Person {}
class Person {}
//开发中使用IPerson:区分class
interface IPerson {
//变量
id: number;
name: string;
age?: number;//可选属性
[propName: string]: any; //任意属性,需要注意的是,一旦定义了任意属性,那么确定属性和可选属性都必须是它的子属性
}
//id和name受到IPerson的约束
let obj: IPerson = {
id: 1,
name: "jack",
};
let Item1: IPerson[] = [
{ id: 1, name: "jack" },
{ id: 1, name: "jack" },
];
let Item2: Array<IPerson> = [
{ id: 1, name: "jack" },
{ id: 1, name: "jack" },
];
接口中定义方法:
//接口中定义方法
interface IPerson2 {
name: string;
age: number;
say(); //定义方法
action(v: number): number; //定义方法
}
let o: IPerson2 = {
name: "jack",
age: 20,
say() {},
action(v) {
return this.age;
},
};
//接口修饰(约束)方法
interface ISum {
(n1: number, n2: