最近在咖啡馆改bug,旁边两个小伙子聊得正起劲:一个说TS太难了不想学,另一个劝他赶紧上车。这场景挺常见,很多人在入门前都会犹豫——前端到底要不要学TS?
项目里写JS,突然报错找不到对象
你有没有遇到过这种事:调接口回来的数据明明有name字段,结果上线后用户反馈页面白屏?一查才发现,后端改了返回结构,前端没做防御性处理,user.name.toUpperCase()直接炸了。这种低级错误,TS能帮你提前拦住。
类型就是文档
接手老项目时最怕啥?函数参数要传啥类型全靠猜。有了TS,鼠标往函数上一放,参数类型清清楚楚。团队协作时,新人看代码不用再问“这个config到底是对象还是数组”。
interface User {
id: number;
name: string;
isActive?: boolean;
}
function renderUser(user: User) {
console.log(user.name); // 类型系统确保name一定存在
}
不是所有项目都需要TS
做个静态活动页,三五天就上线,还非要配TS环境?这时候JavaScript完全够用。就像去楼下买酱油没必要开SUV,但跑长途就得考虑油耗和安全。
大厂面试真题常客
翻翻最近的招聘要求,“熟悉TypeScript”基本是中高级岗位的标配。有个朋友面字节,现场手写带泛型的工具函数,因为TS熟练直接过了二面。现在多数中后台系统都用Vue+TS或React+TS组合,不会的话等于主动放弃一半机会。
学习成本没想象中高
其实不用一开始就啃完所有概念。先从let name: string = 'hello'开始,再慢慢用interface描述数据结构。公司项目允许的话,可以先把.js文件改成.tsx,让编译器自己报错,边修边学。
某天你发现,原来要花半小时排查的拼写错误,现在保存文件时编辑器就标红提醒了——这种丝滑感,用过就回不去了。