TypeScript簡介

1.TypeScript優(yōu)勢:

JS的超集,JS有的TS都有爸舒,能運行JS就能運行TS
強大的類型系統(tǒng)提升了代碼的可閱讀性她紫、可維護性
類型推斷、類型檢查屿讽、代碼提示
有利于在團隊中推動嚴格的代碼檢查

2.項目配置TypeScript

  1. 安裝TypeScript
npm install --save-dev typescript
  1. 生成tsconfig.json
tsc --init
  1. 安裝類型申明(眾多)
npm i --save-dev @types/react
npm i --save-dev @types/react-native

3.基礎類型的使用方法

  1. 數值類型:number
  2. 字符串類型:string
  3. 布爾類型:boolean

4.區(qū)分數組元祖和枚舉類型

5.函數類型

基礎的函數申明
函數參數類型和返回值類型的申明
函數的可選參數和默認參數

6.使用命名空間和類型文件

局部類型文件和全局類型文件
使用類型文件中的類型定義數據

新建ts文件夾昭灵,新建TsDemo.tsx文件,代碼如下:


import { Button, StyleSheet, View } from "react-native"

export default () => {

    const add = (n1: number, n2: number) : number => {
        return n1 + n2;
    }

    const onButtonPress: () => void = () => {
        const num1: number = 123
        const num2: number = 12.34
        console.log(add(num1, num2))

        const num3: Number = new Number(13)
        console.log(num3.valueOf())

        const s1: string = "Hello"
        
        const b1: boolean = true
        const b2: boolean = !s1; //true

        //數組類型
        const a1: Array<number> = [1, 2, 3, 4, 5];
        const a2: number[] = [1, 2, 3, 4, 5];
        const a3: Array<number> = new Array(5);
        const a4: Array<number | string> = new Array();

        //元祖類型
        const t1: [string, number, boolean] = ["張三", 12, true];

        //枚舉類型
        enum Job {
            Teacher = "老師",
            Programmer = "程序員",
            Cook = "廚師"
        }
    }

    //函數類型
    const f1: (s?: string) => void = (s?: string) => {
        console.log(s || '無值');
    }

    const f2 = (s1: string, s2: string = '默認值') => {
        console.log(s2);
    }

    f1();
    f2('aaa');

    //局部類型文件聂儒、全局類型文件虎锚、命名空間
    const stu: Student = {
        name: "zhangsan",
        age: 13,
        hobby: undefined
    } as Student

    console.log(stu);

    const d: Info.dog = {
        name: "dog",
        age: 14
    } as Info.dog

    console.log(d);

    return (
        <View style={styles.root}>
            <Button 
                title="按鈕"
                onPress={onButtonPress}
            >

            </Button>
        </View>
    )
}

const styles = StyleSheet.create({
    root: {
        width: '100%',
        height: '100%',
        backgroundColor: '#f0f0f0'


    }
})

ts文件夾下,新建@types文件夾衩婚,再新建index.d.ts窜护,代碼如下:

//局部類型文件,如果要全局類型文件非春,直接在最外層新建typing.d.ts
type Student = {
    name: string,
    age: number,
    hobby?: string[]
}

declare namespace Info {
    type dog = {
        name: string,
        age: number
    }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末柱徙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子奇昙,更是在濱河造成了極大的恐慌护侮,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件储耐,死亡現(xiàn)場離奇詭異羊初,居然都是意外死亡,警方通過查閱死者的電腦和手機什湘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門长赞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闽撤,你說我怎么就攤上這事得哆。” “怎么了哟旗?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵贩据,是天一觀的道長。 經常有香客問我闸餐,道長饱亮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任绎巨,我火速辦了婚禮近尚,結果婚禮上,老公的妹妹穿的比我還像新娘场勤。我一直安慰自己戈锻,他們只是感情好,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布和媳。 她就那樣靜靜地躺著格遭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪留瞳。 梳的紋絲不亂的頭發(fā)上拒迅,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音她倘,去河邊找鬼璧微。 笑死,一個胖子當著我的面吹牛硬梁,可吹牛的內容都是我干的前硫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼荧止,長吁一口氣:“原來是場噩夢啊……” “哼屹电!你這毒婦竟也來了?” 一聲冷哼從身側響起跃巡,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤危号,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后素邪,有當地人在樹林里發(fā)現(xiàn)了一具尸體外莲,經...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年兔朦,在試婚紗的時候發(fā)現(xiàn)自己被綠了偷线。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡烘绽,死狀恐怖淋昭,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情安接,我是刑警寧澤翔忽,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站盏檐,受9級特大地震影響歇式,放射性物質發(fā)生泄漏。R本人自食惡果不足惜胡野,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一材失、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧硫豆,春花似錦龙巨、人聲如沸笼呆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诗赌。三九已至,卻和暖如春秸弛,著一層夾襖步出監(jiān)牢的瞬間铭若,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工递览, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叼屠,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓绞铃,卻偏偏與公主長得像镜雨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子憎兽,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內容

  • 快速入門 筆者沒有開發(fā)web的經驗冷离,對javascript也沒有學過,新項目纯命,直接用TypeScript西剥,前半部分...
    萌阿姨閱讀 1,539評論 0 1
  • TypeScript 是什么 TypeScript 是一種由微軟開發(fā)的自由和開源的編程語言。它是 JavaScri...
    semlinker閱讀 2,888評論 0 12
  • 在本文中亿汞,我們將了解什么是 Typescript瞭空? 它有什么作用? 安裝過程疗我。 閱讀本文后咆畏,您會對什么是 Type...
    啟辰閱讀 132評論 0 0
  • 參數 參數類型 可以在變量的后面用冒號來指定該參數的類型 不僅可以在變量后面指定類型,還可以在方法后以及方法需要的...
    mah93閱讀 182評論 0 0
  • 1.TypeScript是什么 以下是官方比較書面化的一些介紹: TypeScript是一種由微軟開發(fā)的自由和開源...
    小助手龍小樂閱讀 962評論 0 3