成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

TypeScript,初次見(jiàn)面,請(qǐng)多指教 ?

Sunxb / 1174人閱讀

摘要:推我的是團(tuán)隊(duì)正在日益普及我希望推動(dòng)你的可以是這篇文章接下來(lái),會(huì)有的項(xiàng)目為背景,介紹我在初學(xué)開(kāi)發(fā)項(xiàng)目中遇到的一些問(wèn)題,希望對(duì)你有所幫助。

摘要: TS入門(mén)手冊(cè)。

原文:TypeScript,初次見(jiàn)面,請(qǐng)多指教

作者:徐祁

Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。

為什么用 TS ?

說(shuō)實(shí)話,最開(kāi)始并沒(méi)有想把 TS 用到實(shí)際項(xiàng)目中來(lái),一來(lái)是感覺(jué)“類(lèi)型”會(huì)限制 JS 的優(yōu)勢(shì)(好吧,就是浪寫(xiě)浪慣了);二來(lái)聽(tīng)聞 TS + Redux 的酸爽滋味,有點(diǎn)望而卻步;三來(lái) TS 環(huán)境使用的庫(kù)需要加類(lèi)型的聲明,很多庫(kù)并不支持,有點(diǎn)擔(dān)心推進(jìn)的流暢度 ...

這個(gè)時(shí)候,就需要有一股無(wú)形的力量推你一把。推我的是團(tuán)隊(duì)正在日益普及 TS, 我希望推動(dòng)你的可以是這篇文章 ~

接下來(lái),會(huì)有 React + TS 的項(xiàng)目為背景,介紹我在初學(xué) TS 開(kāi)發(fā)項(xiàng)目中遇到的一些問(wèn)題,希望對(duì)你有所幫助。

一. 如何優(yōu)雅的聲明類(lèi)型

1. 基礎(chǔ)

不就是比 JS 多了一個(gè)類(lèi)型聲明嗎?老夫擼起袖子拎起鍵盤(pán)就是一梭子:

interface Basic {
  num: number;
  str: string | null;
  bol?: boolean;
}

輕輕松松,五種 JS 值類(lèi)型就聲明好了。那數(shù)組、函數(shù)呢?再來(lái):

interface Func {
  func(str: string): void;
}

interface Arr {
  str: string[];
  mixed: Array;
  fixedStructure: [string, number];
  basics: Basic[];
}

除此之外,竟然還可以定義自己的類(lèi)型呢,比如常用的回調(diào)函數(shù),在聲明處需要指定回調(diào)函數(shù)的類(lèi)型:

event.on("change", function() {});

那這個(gè) on 方法需要如何聲明呢?試試看 Function當(dāng) cb 函數(shù)的類(lèi)型呢

on(type: string, cb: Function): {}

然后就恭喜了,你會(huì)得到一個(gè) tslint error :

慶幸的是,在這個(gè) error 里面它告訴了你應(yīng)該怎么做:聲明一個(gè)專(zhuān)用的函數(shù)類(lèi)型就可以了:

type Cb = () => void;

on(type: string, cb: Cb);

至此,我們的 TS 人生算是起步了

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109150.html

相關(guān)文章

  • 前端每周清單第 45 期: Safari 支持 Service Worker, Parcel 完整

    摘要:的另一個(gè)核心特性,蘋(píng)果表示也正在開(kāi)發(fā)中,按開(kāi)發(fā)進(jìn)度可能幾個(gè)月后就能與我們見(jiàn)面。是基于的本地化數(shù)據(jù)庫(kù),支持以及瀏覽器環(huán)境。 前端每周清單專(zhuān)注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開(kāi)發(fā)教程、工程實(shí)踐、深度閱讀、開(kāi)源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(hào)(ID: frontshow),及時(shí)獲取前端每周清單。 本期是 2017 年的最后一...

    趙春朋 評(píng)論0 收藏0
  • Element-ui實(shí)現(xiàn)合并多圖上傳(一次請(qǐng)求多張圖片)

    摘要:實(shí)現(xiàn)多圖上傳主要用到以下兩個(gè)屬性是自帶多圖上傳的,但是細(xì)心的朋友可能發(fā)現(xiàn)默認(rèn)多圖的實(shí)現(xiàn)可能和我們預(yù)期有些出入,有截圖可以看出,實(shí)質(zhì)是進(jìn)行多次請(qǐng)求在上傳事件觸發(fā)后,多圖上傳的默認(rèn)實(shí)現(xiàn)調(diào)用了三次請(qǐng)求。 前言 工作中碰到需要多圖上傳,在使用element-ui解決過(guò)程中碰到一些問(wèn)題,在這里分享給大家。 環(huán)境: Springboot+Vue+Element-ui 正文 這次上傳使用的是Elem...

    loostudy 評(píng)論0 收藏0
  • typescript開(kāi)發(fā)手勢(shì)庫(kù) - (1)web開(kāi)發(fā)常用手勢(shì)有哪些?

    這只是個(gè)開(kāi)頭 說(shuō)在最前面,本文是一個(gè)系列文章的開(kāi)頭, 這個(gè)系列里我會(huì)講如何用typescript開(kāi)發(fā)一款支持pc和手機(jī)端的手勢(shì)庫(kù)any-touch, 以及通過(guò)jest讓你的代碼測(cè)試覆蓋率100%. showImg(https://segmentfault.com/img/bVbp3B0?w=936&h=246); 目錄 用TypeScript開(kāi)發(fā)手勢(shì)庫(kù) - (2)tsconfig.json & r...

    raise_yang 評(píng)論0 收藏0
  • 初次見(jiàn)面,能否把你的「注冊(cè)表」都給我?#yyds干貨盤(pán)點(diǎn)#

    摘要:一前言注冊(cè)表對(duì)于注冊(cè)中心尤為重要,所有的功能都是圍繞這個(gè)注冊(cè)表展開(kāi)。條件二注冊(cè)表信息是否為空。這樣就會(huì)有一份的注冊(cè)表信息了。對(duì)于端來(lái)說(shuō),首次獲取注冊(cè)表時(shí)就會(huì)全量抓取注冊(cè)表,存在自己本地。后續(xù)第二次見(jiàn)面,怎么獲取注冊(cè)表呢 大家好,我是悟空。一、前言注冊(cè)表對(duì)于注冊(cè)中心尤為重要,所有的功能都是圍繞這個(gè)注冊(cè)表展開(kāi)。比如...

    劉厚水 評(píng)論0 收藏0
  • 十分鐘你理解TypeScript中的泛型

    摘要:進(jìn)入其下載的目錄,并按照提示進(jìn)行安裝。理解中心思想剛才使用類(lèi)型導(dǎo)致的問(wèn)題,可以用中的泛型來(lái)解決。你可以在泛型聲明中繼承它這告訴,可使用任何具有屬性的類(lèi)型。在中使用泛型的主要原因是使類(lèi)型,類(lèi)或接口充當(dāng)參數(shù)。 轉(zhuǎn)載請(qǐng)注明出處:葡萄城官網(wǎng),葡萄城為開(kāi)發(fā)者提供專(zhuān)業(yè)的開(kāi)發(fā)工具、解決方案和服務(wù),賦能開(kāi)發(fā)者。 showImg(https://segmentfault.com/img/bVbuXpw?...

    hosition 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<