为什么要使用TypeScript?
一、因为用JavaScript开发大型应用很困难
有时候当我在写Javascript的时候,我想举起我的手说“这是胡扯!”但是我永远记不住“this”指的是什么
二、因为静态类型有三大优势
-
安全
类型系统允许在不运行代码的情况下及早发现许多错误。
-
可读性(适合人类)显式类型使代码更容易被人类理解。
弗雷德·布鲁克斯:“给我看你的流程图,隐藏你的表格,我会继续感到困惑。给我看你们的表格,我通常就不需要你们的流程图了,它们会很明显。”
-
工具支持(机器的可读性) 类型系统也使计算机更容易理解代码。这使得 ide 和 lint 更加强大。
理解 TypeScript 之间的关系
“TypeScript 是 JavaScript 的超集”
“TypeScript 是 JavaScript 的类型化超集”
将类型视为值的集合
类型是集合还是树?
interface Vector1 { x: number; }
interface Vector2 {
x: number;
y: number;
}
interface Vector3 {
x: number;
y: number;
z: number;
}
type A = string | Date;
type B = string | number;
type C = A & B; // string
可以看到,TypeScript的类型系统已经超出 java 的 oop 领域了!
几点建议
1. 优先选择总是表示有效状态的类型
2. 不要对 抗类型检查器(你会输的)
总结
-
TypeScript 类型在运行时消失
-
DX 是和类型安全一样大的胜利
-
不要在文档中重复类型信息
-
类型是一组值:
"assignable" = "subset"
"extends" = "subset" -
好的类型引导正确的代码
-
糟糕的类型会导致对抗 tsc(你会输的!)
effective 风格的图书侧重三方面内容:
-
做什么
-
要避免的事情
-
心智模式
它会帮助你将学到的知识有效应用于工作中
欢迎关注公众号:文本魔术,了解更多