TypeScript學習筆記之三非原始數(shù)據(jù)類型

一镜沽、使用環(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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末盹靴,一起剝皮案震驚了整個濱河市炸茧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稿静,老刑警劉巖梭冠,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異改备,居然都是意外死亡控漠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門悬钳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來润脸,“玉大人柬脸,你說我怎么就攤上這事”醒保” “怎么了国旷?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵隆圆,是天一觀的道長析桥。 經常有香客問我叨咖,道長岳锁,這世上最難降的妖魔是什么女嘲? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任崭歧,我火速辦了婚禮胧华,結果婚禮上秦爆,老公的妹妹穿的比我還像新娘序愚。我一直安慰自己,他們只是感情好等限,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布爸吮。 她就那樣靜靜地躺著,像睡著了一般望门。 火紅的嫁衣襯著肌膚如雪形娇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天筹误,我揣著相機與錄音桐早,去河邊找鬼。 笑死厨剪,一個胖子當著我的面吹牛哄酝,可吹牛的內容都是我干的。 我是一名探鬼主播祷膳,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼陶衅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钾唬?” 一聲冷哼從身側響起万哪,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抡秆,沒想到半個月后奕巍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡儒士,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年的止,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片着撩。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡诅福,死狀恐怖匾委,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情氓润,我是刑警寧澤赂乐,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站咖气,受9級特大地震影響挨措,放射性物質發(fā)生泄漏。R本人自食惡果不足惜崩溪,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一浅役、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伶唯,春花似錦觉既、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至反惕,卻和暖如春尝艘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背姿染。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工背亥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悬赏。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓狡汉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親闽颇。 傳聞我的和親對象是個殘疾皇子盾戴,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,835評論 0 38
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)兵多,斷路器尖啡,智...
    卡卡羅2017閱讀 134,699評論 18 139
  • 一、什么是 TypeScript剩膘? 百度解釋:TypeScript是一種由微軟開發(fā)的自由和開源的編程語言衅斩。它是Ja...
    wave浪兒閱讀 2,221評論 1 20
  • “忽如一夜春風來,千街萬巷單車現(xiàn)怠褐∥钒穑” 今年的春天,春風吹來的不只是桃紅柳綠,還有滿大街的如“彩虹”般的共享單車奠涌。 ...
    彼筱星閱讀 337評論 2 0
  • 昨夜的風從海邊吹來像嬰兒的唇瓣軟軟的水潤的晶瑩剔透一個舞女不小心把唇彩涂到了臉上 昨夜的風有著瑪利亞的溫柔她經過每...
    小竹筏兒閱讀 489評論 7 8