Learning Typescript 讀書筆記2

Chap 3 函數(shù)

1.函數(shù)定義包括函數(shù)聲明和函數(shù)表達(dá)式,函數(shù)聲明能力提升,可以使用在定義之前。

2.函數(shù)參數(shù)支持可選(?),必須是最后一個參數(shù);支持默認(rèn)值(參數(shù)類型后加=),必須是最后一個;支持可變參數(shù)(...)必須是最后一個。

3.函數(shù)支持重載,因為強(qiáng)語言類型的特性。而且重載函數(shù)支持特殊重載簽名,其參數(shù)必須為字符串,可以根據(jù)字符串的內(nèi)容重載,但是必須有一個未特殊簽名的函數(shù)放到最后,例如:

interface Document{
  create(tag:"div"):HTMLDIVEle;
  create(tag:"span"):HTMLSPANEle;
  create(tag:string):HTMLEle;
}

4.var定義的變量的作用域在函數(shù)內(nèi),let和const是塊級作用域,const不能修改。

5.IIFE(立即執(zhí)行函數(shù)表達(dá)式)可以實現(xiàn)塊級作用域名。例如:

var bar = 0;
(function(){
  var foo=0
})();

class中的私有變量就是通過IIFE實現(xiàn)的。

  1. 函數(shù)支持泛型。

7.箭頭函數(shù)會自帶this變量,因此在setTimeout等函數(shù)中執(zhí)行是,this引用屬性不變。

8.異步編程:

  • 傳統(tǒng)的方法是回調(diào)函數(shù),調(diào)用回調(diào)函數(shù)的函數(shù)優(yōu)先級別高,稱之為高階函數(shù)
  • 回調(diào)函數(shù)具有回調(diào)陷阱,不利于理解和閱讀
  • Promise用于解決回調(diào)陷阱,其實現(xiàn)的庫常用為:Q。Promise有三種狀態(tài):
    • pending:初始化
    • fulfilled:異步操作成功的狀態(tài)
    • rejected:異步操作失敗的狀態(tài)
      使用時先聲明一個promise,然后調(diào)用then和catch方法分別處理fulfilled和rejected狀態(tài)的處理動作。

9.關(guān)于前后端模板:

  • 前端:handlebar
  • 后端:velocity/freemarker/Thymeleaf等
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Promise 對象 Promise 的含義 Promise 是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函...
    neromous閱讀 8,838評論 1 56
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 30,282評論 8 265
  • [TOC] 參考阮一峰的ECMAScript 6 入門參考深入淺出ES6 let和const let和const都...
    郭子web閱讀 1,915評論 0 1
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,681評論 1 32
  • 感恩今天的天氣晴朗,氣溫回升,溫度適宜,讓人感覺非常的愜意。 感恩親愛的姚老師在群里給我們分享智慧,即使是身在美國...
    武丹yoyo閱讀 252評論 0 0

友情鏈接更多精彩內(nèi)容