命名规范

变量名不使用下划线**_**

JS程序员习惯使用_开头来命名私有属性。但是TS中有完善的访问描述符,所以应避免使用下划线。


不使用**I**命名接口

TS官网不建议接口名前加ITS是结构化类型系统,类也可以被implements,接口也可以被extends,类和接口的界限比较模糊。


普通文件或目录使用分隔符**-**命名

普通文件或目录使用分隔符-命名。


类文件名必须与类名一致

普通文件或目录使用分隔符-命名。

但是如果文件只输出一个类,那么文件名必须和类名完全一致。也就是文件名和默认导出保持一致。


始终指定访问修饰符

TS默认访问修饰符是public,始终指定访问修饰符可以避免意外暴露接口。


一个模块一个类

如果一个模块导出一个类,那么可以使用类名命名该文件。

一个文件存在多个平级类,很难表达它们之间的关系。

函数

只使用**Error**类,或其子类来表达异常

  1. throw new Error('message')

不使用**null**

避免使用null,推荐使用undefined


不适用**var**

TS 相关

不使用any

使用T[]取代Array来声明数组

使用interface取代type

使用as取代<>进行类型断言