npm install -g typescript // 全局安装 tsc转换器
tsc test.ts // 转化为 test.js
node test.js // 运行
tsc --version // typescript 版本
ts-node包 自动转换ts->js 顺便运行
ts-node test.ts // 运行ts文件
TS 笔记
let num:number = 18; // 类型注解 :number
interface yvye { // 自定义接口
name: string;
age: number;
}
let arr:string[]=["asd","aaa"]; // 数组里 必须全是字符串
let arr: (string | number)[] = [1, "a"];
let obj:{
name:string,
}={
name:"yv",
};
class Person {}
let p: Person = new Person();
let fn:()=>string=()=>"返回字符串";
let fn = (one: number, two: number): number => {
return one + two;
};
let fn = (): void => {
console.log("什么都不返回的函数");
};
let add = ({ one, two }: { one: number; two: number }) => {
return one + two;
};
let total = add({ one: 1, two: 2 });
class type {
name: string;
age: number;
}
let obj: type = {
name: "yv",
age: 18
};
元组
let arr: [string, string, number] = ["yv", "li", 18];
接口
interface Person {
name: string;
age: number;
money?: number;
[propName: string]: any;
say(): string; // say方法 返回值为string
}
let fn = ({ name, age, gender, hobby,say }: Person) => {
console.log("name:" + name);
console.log("age :" + age);
console.log("gender:" + gender);
console.log("hobby:" + hobby);
console.log(say());
};
fn({
name: "yu",
age: 18,
money: 100,
gender: "male",
hobby: "eat",
say() {
return "say hello";
}
});
类型别名
type Person = {
name: string;
};
type Person = string;
类 约束
interface constraint {
name: string;
}
class Person implements constraint {
name = "yv";
}
接口 继承
interface Father {
name: string;
}
interface Son extends Father {
age: number;
}
枚举类型
enum Status {
name=1,
age
}
console.log(Status,Status.name,Status[1]);