摘要:在使用的過程中,它最大的特點其實就是數(shù)據(jù)類型的定義。聯(lián)合類型定義實際項目中,數(shù)據(jù)類型肯定是各種各樣的,為我們提供了各種組合類型的定義。
TypeScript對它的學習其實是在前年就開始了,后面一直沒有機會在項目中使用,直到最近我司開發(fā)小程序,使用京東的taro才
算真正了。使用的過程中,發(fā)現(xiàn)對其基本知識點并沒有通透,所以才想到要記錄學習的過程。
在使用的過程中,它最大的特點其實就是數(shù)據(jù)類型的定義。
基礎(chǔ)類型的定義字符串類型
let name: string = "Mondo"
布爾類型
let isDone: boolean = true
數(shù)字類型
let dec: number = 1
數(shù)組
let list: number[] = [1, 2] or let list: Array= [1, 2]
元組Tuple
定義一個已知元素數(shù)量和類型的數(shù)組,各元素的類型不必相同
let list: [string, number] list = ["1", 2]
枚舉
enum Animal { dog = "hei", cat, pig } let dor: Animal = Animal.dog
Any
定義一個未知數(shù)據(jù)類型的變量
let nothing: any = 2
Void
表示沒有類型,通常用于一個函數(shù)沒有任何返回值
function warnUser(): void { console.log("This is void"); }
Null 和 Undefined
默認情況下null和undefined是所有類型的子類型,你可以把他們賦值給任何類型的變量
let u: undefined = undefined let n: null = null let dec: string = null
類型斷言
類型斷言好比語言里的類型轉(zhuǎn)換,但是不進行特殊的數(shù)據(jù)檢查和解構(gòu)
let dec: string = "Mondo" let len: number = (dec).length or let len: number = (dec as string).length
以上是我們在實際運用中常見的幾種基本類型,當然還有其他類型,比如Never,Object。
聯(lián)合類型定義實際項目中,數(shù)據(jù)類型肯定是各種各樣的,TypeScript為我們提供了各種組合類型的定義。
let list = [ { name: "Mondo", age: 29 ]
以上是我們常見的數(shù)據(jù)格式,上面說了定義數(shù)組let list: number[],可是在這條數(shù)據(jù)中數(shù)組里面元素是Object,這里要使用TypeScript的接口來定義
接口關(guān)鍵詞interface來定義一個接口
interface IPerson { label: string } function getPerson(person:IPerson): void { console.log(person.label); } let obj = { size: 10, label: "mondo" }; getPerson(obj); // mondo
可選屬性
interface Iperson { name: string; cap?: string; } function getPerson(person:IPerson): void { console.log(person.name); } let obj = { name: "mondo" }; getPerson(obj); // mondo
只讀屬性
擁有只讀屬性不可改變它的值
interface Iperson { readonly name: string; age: number; } let obj: Iperson = { name: "mondo", age: 29 }; obj.name = "Imondo" // error
函數(shù)類型
interface Person { (name: string, age: number): boolean; } let getPerson:Person = (name, age) => { return age > 20; } getPerson("Mondo", 29)
上接口的方法是在項目中常用的Object定義。
回到最初的定義數(shù)組,我們可以這么定義
interface Iperson { name: string; age?: number|string; } let list: Iperson[] = [ { name: "Mondo" }, { name: "Imondo", age: 29 }, { name: "IMondo", age: "29" } ]總結(jié)
TypeScript只是粗淺的了解它的一些用法,還有很多高級的用法暫時還沒有接觸到,這篇文章也是本人結(jié)合項目中用到的一些常規(guī)用法而寫的總結(jié)文章而已,感謝各位指正。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105603.html
摘要:基本數(shù)據(jù)類型包括數(shù)值字符串布爾值以及新增的。數(shù)值類型中的二進制表示法或者開頭中的八進制表示法或者開頭字符串類型普通字符串模板字符串模板字符串布爾值和類型在中使用和來定義這兩個數(shù)據(jù)類型。 一、基本數(shù)據(jù)類型 Javascript 的類型分為兩種:原始數(shù)據(jù)類型和對象類型,TypeScript 支持與JavaScript幾乎相同的數(shù)據(jù)類型,此外還提供了枚舉、元組等實用的類型。基本數(shù)據(jù)類型包括:...
摘要:導航第一課體驗第二課基礎(chǔ)類型和入門高級類型第三課泛型第四課解讀高級類型很重要這一節(jié)很重要可以說是的最核心部分這一節(jié)學完其實就可以開始用寫代碼了想想中的再看看標題中的類型字所以請大家務必認真什么是入門高級類型因為高級類型的內(nèi)容比較多但是有些基 導航 第一課, 體驗typescript 第二課, 基礎(chǔ)類型和入門高級類型 第三課, 泛型 第四課, 解讀高級類型 很重要 這一節(jié)很重要, 可以說...
摘要:調(diào)用者容易迷惑,當傳入函數(shù)的參數(shù)類型為時返回值的類型究竟是還是。前面兩個是函數(shù)聲明,最后一個是函數(shù)實現(xiàn),有參數(shù)類型和返回值類型隨意搭配的意思。 Typescript 中的函數(shù) Javascrip 中函數(shù)是一等公民一、Javascript 中的兩種常見的定義函數(shù)的方式1、函數(shù)聲明 function myFunc(x,y){ return x+y } 2、函數(shù)表達式 let add...
摘要:現(xiàn)在,出現(xiàn)了更多本身支持或者通過插件支持語法智能提示糾錯甚至是內(nèi)置編譯器的文本編輯器和。 TypeScript是什么 TypeScript是JavaScript的一個超集 TypeScript需要編譯為JavaScript才能運行(語法糖) TypeScript提供了類型系統(tǒng),規(guī)范類似Java TypeScript提供了ES6的支持,也可以支持部分ES7草案的特性,不用擔心TypeS...
閱讀 2157·2021-09-22 10:56
閱讀 1465·2021-09-07 10:11
閱讀 1800·2019-08-30 15:54
閱讀 2290·2019-08-30 15:44
閱讀 2306·2019-08-29 12:40
閱讀 3031·2019-08-28 18:25
閱讀 1735·2019-08-26 10:24
閱讀 3186·2019-08-23 18:39