欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Learning Typescript 读书笔记2

程序员文章站 2022-07-03 22:07:22
...

Chap 3 函数

1.函数定义包括函数声明和函数表达式,函数声明能力提升,可以使用在定义之前。

2.函数参数支持可选(?),必须是最后一个参数;支持默认值(参数类型后加=),必须是最后一个;支持可变参数(...)必须是最后一个。

3.函数支持重载,因为强语言类型的特性。而且重载函数支持特殊重载签名,其参数必须为字符串,可以根据字符串的内容重载,但是必须有一个未特殊签名的函数放到最后,例如:

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

4.var定义的变量的作用域在函数内,let和const是块级作用域,const不能修改。

5.IIFE(立即执行函数表达式)可以实现块级作用域名。例如:

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

class中的私有变量就是通过IIFE实现的。

  1. 函数支持泛型。

7.箭头函数会自带this变量,因此在setTimeout等函数中执行是,this引用属性不变。

8.异步编程:

  • 传统的方法是回调函数,调用回调函数的函数优先级别高,称之为高阶函数
  • 回调函数具有回调陷阱,不利于理解和阅读
  • Promise用于解决回调陷阱,其实现的库常用为:Q。Promise有三种状态:
    • pending:初始化
    • fulfilled:异步操作成功的状态
    • rejected:异步操作失败的状态
      使用时先声明一个promise,然后调用then和catch方法分别处理fulfilled和rejected状态的处理动作。

9.关于前后端模板:

  • 前端:handlebar
  • 后端:velocity/freemarker/Thymeleaf等