原创 TypeScript Fetch封裝

Fetch封裝 import "whatwg-fetch"; // import { fetchJsonp } from 'fetch-jsonp'; import * as fetchJsonp from 'fetch-jsonp';

原创 TypeScript泛型接口(三)

以使用接口的方式來定義一個函數需要符合的形狀: interface SearchFunc { (source: string, subString: string): boolean; } let mySearch: SearchF

原创 TypeScript泛型-泛型約束(二)

泛型約束 有了泛型之後,一個函數或容器類能處理的類型一下子擴到了無限大,似乎有點失控的感覺。所以這裏又產生了一個約束的概念。我們可以聲明對類型參數進行約束。 我們還拿上文中的student栗子來說,想訪問value的length屬性,但是編

原创 TypeScript泛型詳解

泛型 泛型(Generics)是指在定義函數、接口或類的時候,不預先指定具體的類型,而在使用的時候再指定類型的一種特性。 示例 我們先實現一個student方法獲取不同屬性來看看使用: JavaScript實現 //定義學生的屬性獲取方法,

原创 ES7新特性

前言 ECMAScript 2015(ES6)新增內容很多,在 ES5 發佈近 6 年(2009-11 至 2015-6)之後纔將其標準化。兩個發佈版本之間時間跨度如此之大主要有兩大原因: 比新版率先完成的特性,必須等待新版的完成才能發佈

原创 nvm版本管理

安裝nvm 首先要安裝或者更新nvm,可以使用cURL 使用安裝腳本 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash 或

原创 rz和sz的使用

背景 在開發過程中會遇到,需要把本地文件上傳到遠程服務器的情況;正常情況下可以使用scp實現文件上傳;但是大部分公司內部線上服務器都是無法直接登錄的,都需要通過跳板機登錄,這時scp(ssh)就無法直接連接服務器了,這就需要用到rz和sz文

原创 TypeScript類與接口

概念 雖然 JavaScript 中有類的概念,但是可能大多數 JavaScript 程序員並不是非常熟悉類,這裏對類相關的概念做一個簡單的介紹。 類(Class):定義了一件事物的抽象特點,包含它的屬性和方法 對象(Object):類的

原创 TypeScript枚舉

枚舉 枚舉(Enum)類型用於取值被限定在一定範圍內的場景,比如一週只能有七天,顏色限定爲紅綠藍等 示例 使用枚舉來定義關鍵字 enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; 枚舉成員會被賦值成

原创 echarts-for-react使用詳解(雷達圖)

Echarts-for-react的使用 示例 一、安裝 npm install --save echarts-for-react //如果需要使用echarts的一些特殊方法需要安裝 npm install --save echarts

原创 git submodule子模塊

有種情況我們經常會遇到:某個工作中的項目需要包含並使用另一個項目。 也許是第三方庫,或者你獨立開發的,用於多個父項目的庫。 現在問題來了:你想要把它們當做兩個獨立的項目,同時又想在一個項目中使用另一個 1、添加子模塊 git submodu

原创 git遠程倉庫

前言 在平時的開發中我們的代碼管理一般都離不開git,在開發中也不可能永遠都是開發別人已經上傳搭建好的項目;新建本地項目並創建遠程項目倉庫地址是我們開發中必不可少的;下面我們就來一步步看一下如何實現。 新建 首先是要新建項目目錄及項目文件,

原创 TypeScript內置對象

前言 JavaScript 中有很多內置對象,它們可以直接在 TypeScript 中當做定義好了的類型。 內置對象是指根據標準在全局作用域(Global)上存在的對象。這裏的標準是指 ECMAScript 和其他環境(比如 DOM)的標準

原创 TypeScript聲明文件

聲明文件簡介 當使用第三方庫時,我們需要引用它的聲明文件,才能獲得對應的代碼補全、接口提示等功能。 什麼是聲明語句 假如我們想使用第三方庫 jQuery,一種常見的方式是在 html 中通過 <script> 標籤引入 jQuery,然後就

原创 React+TypeScript+webpack4多入口配置

資源 React-16.8.* react-router-dom-4.3.* TypeScript-3.5.* webpack-4.* eslint-5.16.* 項目目錄 ├── dist # 打包結果目錄 │ ├── demo1