typeScript基礎總結

2021-10-10 02:11:18 字數 4796 閱讀 5159

使用 npm / cnpm / yarn 進行全域性安裝

檢視版本

tsc -v
執行 .ts 檔案
tsc test.ts
執行完成後會生成 .js 檔案

自動執行 .ts 檔案資料型別

關鍵字描述

任意型別

any宣告為 any 的變數可以賦予任意型別的值。

數字型別

number

它可以用來表示整數和分數。

字串型別

string

使用單引號()或雙引號(")來表示字串型別。

布林型別

boolean

表示邏輯值:true 和 false。

陣列型別

無宣告變數為陣列。元組無

元組型別用來表示已知元素數量和型別的陣列,各元素的型別不必相同,對應位置的型別需要相同。

列舉enum

列舉型別用於定義數值集合。

void

void

用於標識方法返回值的型別,表示該方法沒有返回值。

null

null

表示物件值缺失。

undefined

undefined

用於初始化變數為乙個未定義的值

never

never

never 是其它型別(包括 null 和 undefined)的子型別,代表從不會出現的值。

型別推斷

​ 當型別沒有給出時,編譯器來推斷型別

宣告變數型別及初始值

var test :

string

="string"

宣告變數型別,沒有初始值

var test :

number

//沒有初始值,變數值為 undefined

宣告變數賦初始值,不設定型別

var test =

"test"

//不設定型別,該變數可以是任意型別

只宣告變數

var test //變數可以為任意型別,變數值為 undefined

變數作用域函式宣告

具名函式

function

fun(

)fun()

//函式呼叫

匿名函式
var

fun=

function()

函式返回值
function

fun():

string

帶參函式
function

fun(num :

number

,string

:string

)

可選引數
function

fun(num :

number

,string?:

string

)

預設引數
function

fun(num :

number

=123

)

剩餘引數
function

fun(num :

number

,...

string

:string

)

var num =

newnumber

(value)

var txt =

newstring

("string"

)

var arr :

number

=new

array(4

)//指定陣列初始化大小

var arr :

number

=new

array(1

,2,3

,4)//直接初始化陣列元素

map 是 es6 中引入的一種新的資料結構。

map 物件儲存鍵值對,並且能夠記住鍵的原始插入順序。

var map =

newmap([

["key1"

,"value1"],

["key2"

,"value2"]]

)

當陣列中儲存的元素資料型別不同時,使用元組。

var arr =[1

,"string"

]

通過聯合型別 ( | ) 可以給變數設定多種型別。

var test :

number

|string

|boolean

//賦值型別只能為以上三種,賦值其他型別會報錯

型別保護

只有在使用聯合型別的情況下才使用型別保護

型別斷言

inte***ce

waiter;}

inte***ce

teacher;}

function

judgewho

(animal: waiter | teacher)

else

}

in

function

judgewhotwo

(animal: waiter | teacher)

else

}

instanceof

class

numberobj

function

addobj

(first: object | numberobj, second: object | numberobj)

return0;

}

typeof

function

add(first:

string

|number

, second:

string

|number)$

`;}return first + second;

}

介面是一系列抽象方法的宣告,是一些方法特徵的集合,這些方法都應該是抽象的,需要具體的類去實現,然後第三方就可以通過這組抽象方法呼叫 ,讓具體的類執行具體的方法。

inte***ce

person

var person : person =

}

介面的繼承 ( extends )

介面繼承就是說介面可以通過其他介面來擴充套件自己。

inte***ce

father

inte***ce

child

extends

father

var test : child =

test.name

test.***

建立類
class

person

建立例項化物件
var obj =

newperson

()

類的繼承

使用關鍵字extends

繼承類的方法重寫

類繼承後,子類可以對父類的方法重新定義,這個過程稱之為方法的重寫。

其中 super 關鍵字是對父類的直接引用,該關鍵字可以引用父類的屬性和方法。

class

father

}class

sonextends

father

}

訪問控制修飾符泛型的定義使用<>

function join<

t>

(first:

t, second:t)

$`;}

join <

string

>

("jspang"

,".com");

join <

number

>(1

,2);

陣列中使用泛型
//第一種

function myfun<

t>

(params:t[

])myfun <

string

>

["123"

,"456"];

//第二種

function myfun<

t>

(params:

array

<

t>

)myfun <

string

>

["123"

,"456"

];

定義多個泛型
function joinp>

(first:

t, second:p)

$`;}

join <

number

,string

>(1

,"2"

);

Typescript基礎知識總結

3 建立乙個ts檔案 4 使用tsc對ts檔案進行編譯,進入檔案所在的目錄 tsc ts 宣告變數可指定變數的型別 let 變數 型別 let 變數 型別 值 function fn 引數 型別,引數 型別 型別 所涉及的型別 number string boolean 字面量 any unknow...

TypeScript 基礎型別

基礎型別可以依據是否含有型別關鍵字分為兩類 注意 所有型別關鍵字都是小寫的。注 這種分類並不嚴謹,分類的目的僅僅用於幫助記憶型別用來指定變數的型別,相容的型別之間才能進行賦值 傳參等操作。宣告變數型別使用變數名 型別格式,如let decimal number 10,宣告之後decimal就只能接受...

typescript基礎 函式

函式的輸入輸出要進行型別的定義,函式的引數一旦定義好以後,輸入多或者少都是會編譯報錯的,返回型別也必須跟定義的一致 1 function fun a string,b number number 2 這種寫法只對右側的匿名函式進行了型別定義,左側的funs只能通過型別推斷得出 const funs ...