TypeScript 真的值得学习吗?
当我刚开始学习 TypeScript 时,说实话,我并不理解它为何如此备受追捧。
我当时心想:
“既然代码是我自己写的,那我肯定知道每个变量应该是什么类型……那我为什么还需要 TypeScript 呢?”
它看起来只不过是多了一些语法的 JavaScript 而已。
在构建我的软件即服务(SaaS)产品并更深入地使用它之后,我开始明白为什么这么多开发者推荐它。
TypeScript 究竟是什么?
TypeScript 并不是一种全新的编程语言。
它是 JavaScript 的超集,在编译为普通 JavaScript 的同时,增加了静态类型和更好的开发者工具支持。
如果你已经掌握了 JavaScript,那么你已经完成了大部分的学习过程。
那么,什么是类型安全?
想象一下,你有一个期望接收字符串参数的函数。
在 JavaScript 中,你可能会意外地传入一个数字。
function greet(name) {
return "Hello " + name;
}
greet(42);
JavaScript 不会立即报错。
现在看看 TypeScript 中的相同示例。
function greet(name: string) {
return `Hello ${name}`;
}
greet(42);
你的编辑器会在你运行应用程序之前立即高亮显示错误。
这意味着你可以更早地发现 bug,而不是在测试阶段——更糟糕的是,在生产环境中——才发现它们。
我为何曾犹豫不决
在团队协作中,我确实能看到它的好处。
如果每个人都遵循相同的类型定义,那么意外传递错误数据的可能性就会大大降低。
但作为一个独立开发者,我一直在问自己:
“我真的需要所有这些吗?”
我得承认……
部分原因只是懒惰。
编写类型感觉像是额外的工作负担。
随后,我的第一次 Next.js 部署来临……
这大概是改变我看法的时刻。
在部署我的 Next.js 项目时,TypeScript 开始报出我在开发过程中忽略的问题。
这令人沮丧。
有一段时间,我认真地想:
“为什么这让部署变得如此困难?”
但在修复了这些问题后,我意识到了一些事情。
TypeScript 并没有制造 bug。
它是在迫使我在用户看到这些 bug 之前就修复它们。
回想起来,这正是我对开发工具的期望。
缺点
TypeScript 并非完美无缺。
有些方面我仍然觉得烦人
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。