一镜沽、使用環(huán)境
- Mac 電腦
- WebStorm
- TypeScript3.x版本
二、非原始類型
2.1贱田、數(shù)組(Array)
定義數(shù)組的兩種方式:
第一種 普通方式
//數(shù)組表現(xiàn)方式 類型[]
let fabinaqie : number[] = [1,2,3,3,4];
第二種 泛型方式 Array<元素類型>
//數(shù)組泛型
let dataList : Array<number> = [1,2,3,4];
接口的數(shù)組類型
//接口表示數(shù)組
interface IArray{
[index: number] : number;
}
注意:類數(shù)組:不是數(shù)組類型
//不是數(shù)組類型
function defaultsum(){
let list : IArguments = arguments;
}
數(shù)組常用的方法
concat()方法 //連接或者是合并2個或多個數(shù)組,并且返回一個新的數(shù)組,它并不改變已經存在的數(shù)組,而是返回一個包含所有數(shù)組值的數(shù)組.
IndexOf()方法 //用來在數(shù)組中搜索指定的元素值,并且返回所發(fā)現(xiàn)的第1個結果值的下標,
Join()方法 //該方法用于連接一個數(shù)組的元素到一個字符串,并且返回該字符串
LastIndexOf()方法 //與IndexOf相反,它返回的是最后一次批配的字符串的索引位置
Push() 方法 //push方法向數(shù)組的最后位置中插入一個或多個元素,返回新的數(shù)組的長度
pop()方法 //pop方法是Array對象中最流行的方法,該方法移除數(shù)組中的最后一個元素,減少數(shù)組的長度并且返回被移除的元素
reverse()方法 //用于反轉數(shù)組元素的順序
shift() 方法 //移除數(shù)組中的首個元素,減少數(shù)組的長度并且返回被移除的元素
slice() 方法 //該方法返回指定起始位置的一個新的數(shù)組,slice和concat方法讓用戶可以根據(jù)指定的原始數(shù)組創(chuàng)建一個新的數(shù)組
2.2缅茉、元組(Tuple)
元組類型允許表示一個已知元素數(shù)量和類型的數(shù)組,各元素的類型不必相同
e.g 你可以定義一對值分別為 string和number類型的元組
let tupledata : [string, number] = ['2332', 33];
注意:元祖可以存放不同的類型男摧,但是取值時候注意值的類型
2.3蔬墩、枚舉(enum)
默認情況下译打,從0開始為元素編號。 你也可以手動的指定成員的數(shù)值.
//枚舉
enum orderStatus {
orderStatus_None = 0,
orderStatus_Paying = 1,
orderStatus_Payed = 2,
}
console.log(orderStatus[0]);
外部枚舉申明
//declare 只會用于編譯檢查拇颅,檢查完成之后要被刪除
declare enum Directions {
Up,
Down,
Left,
Right
}
2.4奏司、never 永不存在的值的類型
never類型是任何類型的子類型,也可以賦值給任何類型樟插,一般作為函數(shù)返回值
// 返回never的函數(shù)必須存在無法達到的終點
function error(message: string): never {
throw new Error(message);
}
2.5韵洋、void
void類型像是與any類型相反,它表示沒有任何類型黄锤。 當一個函數(shù)沒有返回值時搪缨,你通常會見到其返回值類型是 void
function warnUser(): void {
console.log("This is my warning message");
}
2.6、any 任意類型
any類型使用非常普遍猜扮,當你不知道是什么類型的時候勉吻,都可以使用any或者當你不希望類型檢查器對某些值進行檢查而是直接讓它們通過編譯階段的檢查也可以使用 any類型來標記這些變量
let notSure: any = 4;
notSure = "這是字符串";
notSure = false;
notSure.ifItExists(); // 具有一些方法
2.7、Union Types 聯(lián)合類型
聯(lián)合類型表示一個值可以是幾種類型之一旅赢。
我們用豎線( | )分隔每個類型齿桃,所以 number | string | boolean表示一個值可以是 number, string煮盼,或 boolean短纵。
let myUnionType : string | number; //string 或者 number,但是不能是其他類型
myUnionType = "string";
myUnionType = 23;
//myUnionType =flase; error
注意:如果一個值是聯(lián)合類型僵控,我們只能訪問此聯(lián)合類型的所有類型里共有的屬性或方法
2.8香到、Object 對象類型
object表示非原始類型,也就是除number报破,string悠就,boolean,symbol充易,null或undefined之外的類型梗脾。
declare function create(o: object | null): void;
create({ name: 0 }); // OK
create(null); // OK
create(2); // Error
create("字符串"); // Error
create(false); // Error
create(undefined); // Error
三、類型斷言(類型轉換)
方式一:“尖括號”語法<string>
let someAny: any = "my name is lzb";
let strLength: number = (<string> someAny).length;
方式二:as語法 (xxx as string)
let someAny: any = "my name is lzb";
let strLength: number = (someAny as string).length;
如需了解更多知識
如需了解更多知識
TypeScript學習筆記之五類(Class)
TypeScript學習筆記之四接口(Inferfaces)
TypeScript學習筆記之三非原始數(shù)據(jù)類型
TypeScript學習筆記之二基本數(shù)據(jù)類型
TypeScript學習筆記之一初見TypeScript