使用 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 ...