TypeScript經常使用語法

TypeScript經常使用語法

數據類型

常見數據類型

  • boolean
  • number
  • string
  • null
  • undefined
  • Symbol
  • void
  • any

語法:java

let name:<type>=<value>;

數組

  • 「類型 + 方括號」表示法
let list: number[] = [1, 2, 3];
  • 數組泛型Array<elemType>
let list:Array<string|number>=['1',2,3,'4'];

元組

數組合並了相同類型的對象(也能夠不一樣類型),而元組(Tuple)合併了不一樣類型的對象。
當直接對元組類型的變量進行初始化或者賦值的時候,須要提供全部元組類型中指定的項。數組

let data: [string, number] = ['a', 1];

當添加越界的元素時,它的類型會被限制爲元組中每一個類型的聯合類型函數

枚舉

枚舉(Enum)類型用於取值被限定在必定範圍內的場景,好比一週只能有七天,顏色限定爲紅綠藍等。
enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
枚舉成員會被賦值爲從 0 開始遞增的數字,同時也會對枚舉值到枚舉名進行反向映射:ui

內置對象(能夠做爲定義好的類型)

  • Boolean、Error、Date、RegExp
let d: Date = new Date();
  • Document、HTMLElement、Event、NodeList
let body: HTMLElement = document.body;

字變量類型

字面量類型用來約束取值只能是某幾個值中的一個。code

type EventNames = 'click' | 'scroll' | 'mousemove';

type num = 1 | 2 | 3;

類型別名與字符串字面量類型都是使用 type 進行定義。對象

聯合類型

聯合類型使用 | 分隔每一個類型。
語法:繼承

let name:<type1>|<type1>=<value>;

類型斷言

能夠用來手動指定一個值的類型。接口

<類型>值
或
值 as 類型

在 tsx 語法(React 的 jsx 語法的 ts 版)中必須用後一種。ip


函數

在 TypeScript 的類型定義中,=> 用來表示函數的定義,左邊是輸入類型,須要用括號括起來,右邊是輸出類型。jsx

可選參數

與接口中的可選屬性相似,咱們用 ? 表示可選的參數(可選參數必須接在必需參數後面)

function buildName(firstName: string, lastName?: string) {
    if (lastName) {
        return firstName + ' ' + lastName;
    } else {
        return firstName;
    } 
}

重載

重載容許一個函數接受不一樣數量或類型的參數時


面向對象

接口

概念

  • 對類的一部分行爲進行抽象
  • 對「對象的形狀(Shape)」進行描述

可選屬性

可選屬性的含義是該屬性能夠不存在。
語法:

interface Person {
    name?: string;
}

能夠定義方法

TypeScript 中類的用法

public private 和 protected

TypeScript 能夠使用三種訪問修飾符:public private 和 protected

  • public:公有的,任何地方能夠訪問
  • private:私有的,不容許在類的外部訪問
  • protected:受保護的,在子類能夠訪問,不容許在類的外部訪問

抽象類

abstract 用於定義抽象類和其中的抽象方法。

  • 不容許實例化
  • 抽象類中的抽象方法必須被子類實現

三者直接的關係

  • 類實現接口 implements(對類的一部分行爲進行抽象)
  • 接口繼承接口
  • 接口繼承類(跟java不同)
相關文章
相關標籤/搜索