<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
typescript和javascript幾乎一樣,擁有相同的資料型別,另外在javascript基礎上提供了更加實用的型別供開發使用。
在開發階段,可以為明確的變數定義為某種型別,這樣typescript就能在編譯階段進行型別檢查,當型別不符合預期結果的時候則會出現錯誤提示
typescript的資料型別主要有如下:
let flag:boolean = true; flag = 123; // 錯誤 flag = false; // 正確
數位型別,和javascript一樣,typescript的數值型別都是浮點數,可支援二進位制、八進位制、十進位制和十六進位制。
let num:number = 123; num = '456'; // 錯誤 num = 456; // 正確
進位製表示:
let decLiteral:number = 6; // 十進位制 let hexLiteral:number = 0xfood; // 十六進位制 let binaryLiteral:number = 0b1010; // 二進位制 let octalLiteral:number = 0o744; // 八進位制
字串型別,和javascript一樣,可以使用雙引號(")或單引號(')表示字串
let str:string = 'this is ts'; str = 'test';
作為超集,當然也可以使用模板字串進行包裹,通過${}嵌入變數
let name:string = `Gene`; let sentence:string = `Hello, my name is ${name}`
陣列型別,跟javascript一致,通過[]進行包裹,有兩種寫法:
方式一:元素型別後面接上[]
let arr:string[] = ['12','23']; arr = ['45','56'];
方式二:使用陣列泛型,Array<元素型別>:
let arr:Array<number> = [1,2]; arr = ['45','55'];
元組型別,允許表示一個已知元素和型別的陣列,各元素的型別不必相同
let tupleArr:[number,string,boolean]; tupleArr = [12,'34',true]; // yes tupleArr = [12,'34']; // no
enum型別是對javascript標準資料型別的一個補充,使用列舉型別可以為一組數值賦予友好的名字
enum Color {Red,Green,Blue} let c:Color = Color.Green;
可以指定任何型別的值,在程式設計階段還不清楚型別的變數指定一個型別,不希望型別檢查器對這些值進行檢查而是直接讓它們通過編譯階段的檢查,這時候可以使用any型別
使用any型別允許被賦值為任意型別,甚至可以呼叫其屬性、方法
let num:any = 123; num = 'str'; num = true;
定義儲存各種型別資料的陣列時,範例程式碼如下:
let arrayList:any[] = [1,false,'fine']; arrayList[1] = 100;
在javascript中null表示 “什麼都沒有”,是一個只有一個值的特殊型別,表示一個空物件參照,而undefined表示一個沒有設定值的變數。
預設情況下null和undefined是所有型別的子型別,就是說你可以把null和undefined賦值給number型別的變數
let num:number | undefined; // 數值型別或者undefined console.log(num); // 正確 num = 123; console.log(num); // 正確
但是ts設定了--strictNullChecks標記,null和undefined只能賦值給void和它們各自
用於標識方法返回值的型別,表示該方法沒有返回值。
function hello():void { alert('Hello Runoob') }
never是其他型別(包括null和undefined)的子型別,可以賦值給任何型別,代表從不會出現的值,
但是沒有型別是never的子型別,這意味著生命never的變數只能被never型別所賦值。
never型別一般用來指定哪些總是會丟擲異常,無限迴圈
let a:never; a = 123; // 錯誤的寫法 a = (() => { // 正確的寫法 throw new Errow('錯誤') })() // 返回的never的函數必須存在無法達到的終點 function error(message:string): never { thorw new Error(message); }
物件型別,非原始型別,常見的形式通過{}進行包裹
let obj:object; obj = {name:'Zhang',age:23};
和javascript基本一致,也分成:
在基礎型別上,typescript增添了void、any、emun等原始型別。
到此這篇關於Typescript資料型別的文章就介紹到這了,更多相關Typescript資料型別內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45