中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

h5互動網(wǎng)站建設(shè)今日百度小說排行榜

h5互動網(wǎng)站建設(shè),今日百度小說排行榜,聚美優(yōu)品的網(wǎng)站建設(shè)狀況,沈陽做網(wǎng)站好的TypeScript 是 JavaScript 的一個(gè)超集,支持 ECMAScript 6 標(biāo)準(zhǔn)(ES6 教程)。 TypeScript 由微軟開發(fā)的自由和開源的編程語言。 TypeScript 設(shè)計(jì)目標(biāo)是開發(fā)大型應(yīng)用,它可以編譯成純 JavaScript,編譯出來的 JavaScript …

TypeScript 是 JavaScript 的一個(gè)超集,支持 ECMAScript 6 標(biāo)準(zhǔn)(ES6 教程)。

TypeScript 由微軟開發(fā)的自由和開源的編程語言。

TypeScript 設(shè)計(jì)目標(biāo)是開發(fā)大型應(yīng)用,它可以編譯成純 JavaScript,編譯出來的 JavaScript 可以運(yùn)行在任何瀏覽器上。

文章目錄

  • 1 TypeScript VS JavaScript
  • 2 TypeScript基礎(chǔ)
    • 2.1 TS基礎(chǔ)-基礎(chǔ)類型
    • 2.2 TS基礎(chǔ)-函數(shù)類型
    • 2.3 TS基礎(chǔ)-interface
    • 2.4 TS基礎(chǔ)-類
  • 3 TypeScript 進(jìn)階
    • 3.1 TS進(jìn)階-高級類型
    • 3.2 TS進(jìn)階-泛型-什么時(shí)候需要泛型?
    • 3.3 TS進(jìn)階-泛型-什么時(shí)候需要泛型?
    • 3.4 TS進(jìn)階-泛型-基本使用
    • 3.5 TS進(jìn)階-泛型工具類型-基礎(chǔ)操作符
    • 3.6 TS進(jìn)階-泛型工具類型-常用工具類型
  • 4 TypeScript 實(shí)戰(zhàn)
    • 4.1 TS實(shí)戰(zhàn)-聲明文件
    • 4.2 TS實(shí)戰(zhàn)-泛型約束后端接口類型

1 TypeScript VS JavaScript

在這里插入圖片描述

TypeScriptJavaScript
JavaScript 的超集,用于解決大型項(xiàng)目的代碼復(fù)雜性一種腳本語言,用于創(chuàng)建動態(tài)網(wǎng)頁
強(qiáng)類型,支持靜態(tài)和動態(tài)類型動態(tài)弱類型語言
可以在編譯期間發(fā)現(xiàn)并糾正錯誤只能在運(yùn)行時(shí)發(fā)現(xiàn)錯誤
不允許改變變量的數(shù)據(jù)類型變量可以被賦值成不同類型

2 TypeScript基礎(chǔ)

2.1 TS基礎(chǔ)-基礎(chǔ)類型

  1. boolean、number、string
  2. undefined、null
  3. any、unknown、void
  4. never
  5. 數(shù)組類型 []
  6. 元組類型 tuple
// 舉個(gè)例子
function test(x:string | number):boolean {if (typeof x === 'string') {return true;} else if (typeof x === 'number') {return false;}return throwError('參數(shù)格式不對');
}function throwError(message:string):never {throw new Error(message);
}

2.2 TS基礎(chǔ)-函數(shù)類型

定義:TS定義函數(shù)類型時(shí)要定義輸入?yún)?shù)類型和輸出類型

輸入?yún)?shù):參數(shù)支持可選參數(shù)和默認(rèn)參數(shù)

輸出參數(shù):輸出可以自動推斷,沒有返回值時(shí),默認(rèn)為 void 類型

函數(shù)重載:名稱相同但參數(shù)不同,可以通過重載支持多種類型

function add(x:number[]):number
function add(x:string[]):string
function add(x:any[]):any {if (typeof x[0] === 'string') {return x.join()}if (typeof x[0] === 'number') {return x.reduce((acc,cur) => acc + cur)}
}

2.3 TS基礎(chǔ)-interface

定義:接口是為了定義對象類型

特點(diǎn):

  • 可選屬性:?
  • 只讀屬性:readonly
  • 可以描述函數(shù)類型
  • 可以描述自定義屬性

總結(jié):接口非常靈活duck typing

interface RandomKey {[propName:string]:string
}const obj:RandomKey = {a:'hello',b:'world',c:'typescript',
}

2.4 TS基礎(chǔ)-類

定義:寫法和JS差不多,增加了一些定義

特點(diǎn):

  • 增加了 public、private、protected 修飾符
  • 抽象類:
    • 只能被繼承,不能被實(shí)例化
    • 作為基類,抽象方法必須被子類實(shí)現(xiàn)
  • interface:約束類,使用implements關(guān)鍵字

3 TypeScript 進(jìn)階

3.1 TS進(jìn)階-高級類型

  1. 聯(lián)合類型 |
  2. 交叉類型 &
  3. 類型斷言
  4. 類型別名(type VS interface)
    • 定義:給類型起個(gè)別名
    • 相同點(diǎn):
      1. 都可以定義對象或函數(shù)
      2. 都允許繼承
    • 差異性
      1. interface是TS用來定義對象,type是用來定義別名方便使用;
      2. type可以定義基本類型,interface:不行;
      3. interface可以合并重復(fù)聲明,type不行;

3.2 TS進(jìn)階-泛型-什么時(shí)候需要泛型?

官方定義:

軟件工程中,我們不僅要創(chuàng)建一致的定義良好的API,同時(shí)也要考慮可重用性。

組件不僅能夠支持當(dāng)前的數(shù)據(jù)類型,同時(shí)也能支持未來的數(shù)據(jù)類型,這在創(chuàng)建大型系統(tǒng)時(shí)為你提供了十分靈活的功能。

在像 C# 和 Java 這樣的語言中,可以使用泛型來創(chuàng)建可重用的組件,

一個(gè)組件可以支持多種類型的數(shù)據(jù)。這樣用戶就可以以自己的數(shù)據(jù)類型來使用組件。

有點(diǎn)晦澀,還是舉個(gè)栗子。

3.3 TS進(jìn)階-泛型-什么時(shí)候需要泛型?

在這里插入圖片描述

3.4 TS進(jìn)階-泛型-基本使用

基本定義:

  1. 泛型的語法是◇里面寫類型參數(shù),一般用T表示;
  2. 使用時(shí)有兩種方法指定類型:
    1. 定義要使用的類型
    2. 通過TS類型推斷,自動推導(dǎo)類型
  3. 泛型的作用是臨時(shí)占位,之后通過傳來的類型進(jìn)行推導(dǎo);
function print<T>(arg:T):T {console.lLog(arg)return arg
}
print<string>('hello')  // 定義T為string
print('hello')  // TS類型推斷,自動推導(dǎo)類型為string

3.5 TS進(jìn)階-泛型工具類型-基礎(chǔ)操作符

在這里插入圖片描述

3.6 TS進(jìn)階-泛型工具類型-常用工具類型

  • Partials:將類型屬性變?yōu)榭蛇x
  • Required:將類型屬性變?yōu)楸剡x
  • Readonly.:將類型屬性變?yōu)橹蛔x
  • Pick、Record…
type Partials<T> ={[P in keyof T]?:T[P];
};type Required<T> = {[P in keyof T]-?:T[P]
};type Readonly<T> = {readonly [P in keyof T]:T[P];
};

4 TypeScript 實(shí)戰(zhàn)

4.1 TS實(shí)戰(zhàn)-聲明文件

  • declare:三方庫需要類型聲明文件
  • .dts:聲明文件定義
  • @types:三方庫TS類型包
  • tsconfig.json:定義TS的配置

4.2 TS實(shí)戰(zhàn)-泛型約束后端接口類型

在這里插入圖片描述

http://www.risenshineclean.com/news/38426.html

相關(guān)文章:

  • 易語言可以建設(shè)網(wǎng)站嗎新站seo優(yōu)化快速上排名
  • 網(wǎng)站開發(fā)實(shí)踐研究報(bào)告溫州seo排名公司
  • 給公眾號做頭像的網(wǎng)站北京百度關(guān)鍵詞優(yōu)化
  • 智能建站cms管理系統(tǒng)百度推廣關(guān)鍵詞優(yōu)化
  • 重慶網(wǎng)站租賃空間國內(nèi)新聞最新消息今天
  • asp網(wǎng)站仿制公司官網(wǎng)開發(fā)制作
  • 同程網(wǎng) 網(wǎng)站模板國外網(wǎng)絡(luò)推廣
  • 怎么建立一個(gè)網(wǎng)站當(dāng)站長松原今日頭條新聞
  • dwcc2018怎么做網(wǎng)站十大跨界營銷案例
  • 在什么網(wǎng)站下載wordpress海外網(wǎng)絡(luò)推廣平臺
  • net公司網(wǎng)站開發(fā)框架源代碼什么是sem和seo
  • uc投放廣告網(wǎng)站要自己做嗎工具
  • 做英文企業(yè)網(wǎng)站百度關(guān)鍵詞優(yōu)化公司
  • wordpress同步到頭條號南昌seo搜索優(yōu)化
  • 新網(wǎng)站 不穩(wěn)定網(wǎng)頁設(shè)計(jì)素材網(wǎng)站
  • 哈爾濱建站服務(wù)網(wǎng)站開發(fā)百度廣告費(fèi)一般多少錢
  • 給網(wǎng)站添加百度地圖百度關(guān)鍵字優(yōu)化價(jià)格
  • 西安模板網(wǎng)站建站魔方優(yōu)化大師官網(wǎng)
  • 成都裝修網(wǎng)站制作價(jià)格游戲推廣對接平臺
  • 南陽建網(wǎng)站公司16種營銷模型
  • 提供網(wǎng)站建設(shè)備案沈陽網(wǎng)站關(guān)鍵詞優(yōu)化公司
  • 請問做網(wǎng)站怎么賺錢排名優(yōu)化軟件點(diǎn)擊
  • 北京網(wǎng)站建設(shè)在哪里天網(wǎng)站結(jié)構(gòu)有哪幾種
  • 房產(chǎn)備案登記信息查詢優(yōu)化大師網(wǎng)頁版
  • 做電商哪個(gè)設(shè)計(jì)網(wǎng)站比較好東莞最新消息今天
  • 微信公眾號是干什么用的紹興seo排名公司
  • 廣州建站方法南昌seo排名
  • 做網(wǎng)站跳轉(zhuǎn)怎么收費(fèi)網(wǎng)絡(luò)營銷軟件推廣
  • 詳情頁制作網(wǎng)站seo交互論壇
  • 建立一個(gè)小程序多少錢小紅書關(guān)鍵詞排名優(yōu)化