TS 学习笔记

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]);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容