typescript 查漏补缺(函数、类、模块

可选参数只需要在参数定义后加上?即可。需要注意的是,可选参数必须位于必选参数的后面。

typescript还支持初始化默认参数。如果函数的某个参数设置了默认值。当该参数被调用时,如果没有传值或者undefined时,这个参数的值就是设置的默认值。带默认值的参数不必放在必选参数后面,但默认值的参数放到了必选参数的前面,用户必须显式地传入undefined。

剩余参数使用在:当需要同时操作多个参数,或者并不知道会有多少参数传递进来时。在typescript里,所有的可选参数都可以放到一个变量里。需要注意的是,剩余参数可以理解为个数不限的可选参数,即剩余参数包含的参数个数可以为零到多个。

函数重载通过为同一个函数提供多个函数类型定义来达到定义实现多种功能的目的。

 

模块可以用default关键字实现默认导出的功能,每个模块可以有一个默认导出。类和函数声明可以直接省略导出名来实现默认导出。默认导出有利于减少调用方调用模块的层数,省去一些冗余的模块前缀书写。

模块设计原则:尽可能的在顶层导出,顶层导出可以降低调用方使用的难度,过多的‘.‘操作使得开发者要记住过多的细节,所以尽量使用默认导出或者顶层导出,单个对象(类或函数等)可以采用默认导出方式。

明确列出导入的名字。在导入的时候尽可能明确地指定导入对象的名称,这样只要接口不变,调用方式就可以不变,从而降低了导入跟导出模块的耦合度,做到面向接口编程。

使用命名空间模式导出。

export class Dog{}
export class Cat{}
export class Tree{}

import * as myLargeModule form './test.ts'

let x=new myLargeModule.Dog();

  

使用模块包装进行扩展。我们可能经常需要扩展一个模块的功能,推荐的方案是不要改变原来的对象,而是导出一个新的对象来提供新的功能。

 

posted @ 2017-07-18 11:56  艾路  阅读(176)  评论(0编辑  收藏  举报