真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

TypeScript中值得了解的方法有哪些

小編給大家分享一下TypeScript中值得了解的方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)歡迎聯(lián)系:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域10余年,包括木托盤等多個(gè)方面擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián),為企業(yè)保駕護(hù)航!

TypeScript 中的類型系統(tǒng)是非常強(qiáng)大的。它為我們提供了類型安全。類型系統(tǒng)雖然受人喜愛,但如果我們不規(guī)劃和設(shè)計(jì)類型和接口,它也會(huì)讓我們的代碼變得混亂難讀。

泛型

避免代碼重復(fù)中,創(chuàng)建可重用的類型,是我們編寫簡潔代碼重要的一環(huán)。泛型是 TypeScript 的一個(gè)功能,它允許我們編寫可重用的類型??聪旅娴睦樱?/p>

type Add = (a: T, b: T) => T

const addNumbers: Add = (a, b) => {
  return a + b
}

const addStrings: Add = (a, b) => {
  return a + b
}

將正確的類型放入Add的泛型中,它可以被用來描述兩個(gè)數(shù)字的相加或兩個(gè)字符串的連接。我們不需要為每個(gè)函數(shù)寫一個(gè)類型,而只需要用泛型做一次。這不僅節(jié)省了我們的精力,而且還使我們的代碼更加簡潔,更不容易出錯(cuò)。

實(shí)用類型

TypeScript 原生提供了幾個(gè)有用的實(shí)用類型來幫助我們進(jìn)行一些常見的類型轉(zhuǎn)換。這些實(shí)用類型是全局可用的,它們都使用了泛型。

下面這7個(gè)是我經(jīng)常用到的。

1. Pick

Pick會(huì)從 Type 中挑選屬性集 Keys 來創(chuàng)建一個(gè)新的類型,Keys 可以是一個(gè)字符串字面或字符串字面的聯(lián)合。Keys 的值必須是 Type 的鍵,否則TypeScript編譯器會(huì)抱怨。當(dāng)你想通過從有很多屬性的對(duì)象中挑選某些屬性來創(chuàng)建更輕的對(duì)象時(shí),這個(gè)實(shí)用類型特別有用。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type BasicUser = Pick

// type BasicUser = {
//   name: string;
//   age: number;
// }

2. Omit

OmitPick相反。 Keys 不是說要保留哪些屬性,而是指要省略的屬性鍵集。 當(dāng)我們只想從對(duì)象中刪除某些屬性并保留其他屬性時(shí),這個(gè)會(huì)更有用。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type BasicUser = Omit

// type BasicUser = {
//   name: string;
//   age: number;
// }

3. Partial

Partial 構(gòu)造了一個(gè)類型,其所有的類型屬性都設(shè)置為可選。當(dāng)我們?cè)诰帉懸粋€(gè)對(duì)象的更新邏輯時(shí),這個(gè)可能非常有用。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type PartialUser = Partial

// type PartialUser = {
//   name?: string;
//   age?: number;
//   address?: string;
//   occupation?: string;
// }

4. Required

RequiredPartial相反。它構(gòu)造了一個(gè)類型的所有屬性都是必填的類型。它可以被用來確保在一個(gè)類型中沒有可選屬性出現(xiàn)。

type PartialUser = {
  name: string
  age: number
  address?: string
  occupation?: string
}

type User = Required

// type User = {
//   name: string;
//   age: number;
//   address: string;
//   occupation: string;
// }

5. Readonly

Readonly 構(gòu)建了一個(gè)類型,其類型的所有屬性被設(shè)置為只讀。重新分配新的值 TS 就會(huì)報(bào)錯(cuò)。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type ReadOnlyUser = Readonly

const user: ReadOnlyUser = {
  name: "小智",
  age: 24,
  address: "廈門",
  occupation: "大遷世界"
}

user.name = "王大冶"
// Cannot assign to 'name' because it is a read-only property.

6. ReturnType

ReturnType 從一個(gè)函數(shù)類型的返回類型構(gòu)建一個(gè)類型。當(dāng)我們處理來自外部庫的函數(shù)類型并希望基于它們建立自定義類型時(shí),它是非常有用的。

import axios from 'axios'

type Response = ReturnType

function callAPI(): Response{
  return axios("url")
}

除了上面提到的,還有其他實(shí)用類型可以幫助我們編寫更干凈代碼。關(guān)于實(shí)用工具類型的TypeScript文檔鏈接可以在這里找到。

以上是“TypeScript中值得了解的方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文標(biāo)題:TypeScript中值得了解的方法有哪些
分享URL:http://weahome.cn/article/jdchjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部