TS(typeScript)的学习笔记

TS 的官方网站

TS基础数据类型

布尔值

let isDone: boolean = false;

 数字

let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;

字符串

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.`;

数组

let list: number[] = [1, 2, 3];

元组

// Declare a tuple type
let x: [string, number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error

枚举

enum Color {Red, Green, Blue}
let c: Color = Color.Green;

Any

let notSure: any = 4
notSure = "maybe a string instead";
notSure = false;

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

function warnUser(): void {
  console.log("This is my warning message")
}

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

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

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里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。

可选属性

interface SquareConfig {
  color?: string;
  width?: number;
}

只读属性 

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

interface Point {
    readonly x: number;
    readonly y: number;
}

额外的属性检查

interface SquareConfig {
  color?: string,
  width?: number,
  [propName: string]: any
}

函数类型

可索引的类型

继承接口

混合类型

接口继承类

发布了177 篇原创文章 · 获赞 875 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/github_35631540/article/details/103362985