TS(typeScript)的学习笔记

2022-01-24 17:56:55 浏览数 (1)

TS 的官方网站

TS基础数据类型

布尔值

代码语言:javascript复制
let isDone: boolean = false;

数字

代码语言:javascript复制
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;

字符串

代码语言:javascript复制
let name: string = "bob";
name = "smith";

let name: string = `Gene`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ name }.

I'll be ${ age   1 } years old next month.`;

数组

代码语言:javascript复制
let list: number[] = [1, 2, 3];

元组

代码语言:javascript复制
// Declare a tuple type
let x: [string, number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error

枚举

代码语言:javascript复制
enum Color {Red, Green, Blue}
let c: Color = Color.Green;

Any

代码语言:javascript复制
let notSure: any = 4
notSure = "maybe a string instead";
notSure = false;

Void 函数没有返回值时使用void修饰

代码语言:javascript复制
function warnUser(): void {
  console.log("This is my warning message")
}

Never never类型表示的是那些永不存在的值的类型。

Object object表示非原始类型,也就是除numberstringbooleansymbolnullundefined之外的类型。

代码语言:javascript复制
declare function create(o: object | null): void;

create({ prop: 0 }); // OK
create(null); // OK

create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error

接口

TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。

可选属性

代码语言:javascript复制
interface SquareConfig {
  color?: string;
  width?: number;
}

只读属性

些对象属性只能在对象刚刚创建的时候修改其值。 你可以在属性名前用 readonly来指定只读属性:

代码语言:javascript复制
interface Point {
    readonly x: number;
    readonly y: number;
}

额外的属性检查

代码语言:javascript复制
interface SquareConfig {
  color?: string,
  width?: number,
  [propName: string]: any
}

函数类型

可索引的类型

继承接口

混合类型

接口继承类

0 人点赞