TypeScript 通过添加静态类型为我们的代码提供了一定程度的“安全性”。
我们可以通过使某些属性或功能符合类型来保证它们存在于我们的代码中。
这可以极大地减少您的网站中可能出现的客户端错误数量,因为它减少了人为错误,例如在错误的对象上调用函数。
TypeScript 通过利用 集合类型 和 文字类型 .
那么,有什么区别呢?
TypeScript 中的集合类型
集合类型 是大多数使用 TypeScript 的开发人员都熟悉的概念。例如:
const addOne = (numb: number) => num + 1;
此代码使用 集体类型 .
集体类型 是类似 number
, string
, boolean
或 number[]
.
这些类型包含大量存在的变量 - number
例如类型可以涵盖:1、2、3、4、5……等等。
更严格的 集体类型 的子类型
TypeScript 中的文字类型
您还可以使用 值 作为类型,因此 let eleven: 11 = 11
是完全有效的 TypeScript 代码。
当我第一次看到这个时,我认为它看起来有点奇怪。
但它被广泛使用,并且确实可以使你的代码更具可读性。
您可以开始构建类似枚举的类型,并且严格只允许分配某些值,例如:
type Door = 'open' | 'closed' | 'ajar'
现在可在整个代码中使用 Door
该 string
类型允许的值更严格。
如果 |
上面代码中的 不清楚,它是一个 联合类型 ——本质上意味着 OR
。任何符合 的类型 Door
只能是 open
OR closed
OR ajar
.
结论
文字类型 集合类型 的子类型 .
我们可以说所有文字类型都是集合类型——但并非所有集合类型都是文字类型。为了更清楚起见,我们可以说 文字类型 11
是, number
但并非所有 number
类型都是 11
.
我希望现在这两种类型之间的区别更加清晰了,如果你需要严格限制类型,你可以使用 文字类型 .
如果您想了解更多, 在这里 发布我的文章
发表评论 取消回复