命名规范
变量名不使用下划线**_**
JS
程序员习惯使用_
开头来命名私有属性。但是TS
中有完善的访问描述符,所以应避免使用下划线。
不使用**I**
命名接口
TS
官网不建议接口名前加I
。TS
是结构化类型系统,类也可以被implements
,接口也可以被extends
,类和接口的界限比较模糊。
普通文件或目录使用分隔符**-**
命名
普通文件或目录使用分隔符-
命名。
类文件名必须与类名一致
普通文件或目录使用分隔符-
命名。
但是如果文件只输出一个类,那么文件名必须和类名完全一致。也就是文件名和默认导出保持一致。
类
始终指定访问修饰符
TS
默认访问修饰符是public
,始终指定访问修饰符可以避免意外暴露接口。
一个模块一个类
如果一个模块导出一个类,那么可以使用类名命名该文件。
一个文件存在多个平级类,很难表达它们之间的关系。
函数
只使用**Error**
类,或其子类来表达异常
throw new Error('message')
不使用**null**
避免使用null
,推荐使用undefined
不适用**var**
TS 相关
不使用any
使用T[]
取代Array
来声明数组
使用interface
取代type
使用as
取代<>
进行类型断言