TypeScript 不是加法,是减法
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
为什么要从JavaScript到TypeScript TypeScript 并不是要你放弃 JavaScript 的表达力,而是给你一个“安全网”。它不会阻止你写代码,但会在你差点掉坑时轻轻拉你一把。 下面是我踩过坑后总结的一些核心认知,希望能帮你少走弯路。 一、类型很多人抗拒 TS,是因为觉得“多写了好多冒号和尖括号”。但其实,类型最大的价值不在编译器,而在人与人之间的沟通。
你写了一个工具函数,其他人调用时不用翻源码、不用问你:“第二个参数到底传对象还是数组?” 半年后你自己回看代码,看到 类型就是一种无需注释的文档。而且,它永远不会过期——因为一旦结构变了,类型不匹配,代码根本跑不起来。 所以,别把类型当成负担,把它当作你和团队、和未来的自己之间的约定。
二、先搞定这些基础1. 基本类型虽然 TS 能自动推断,但在函数参数、返回值、配置项等“接口位置”,显式标注是值得的。尤其是
2. 数组 ≠ 元组
比如登录成功后返回
3. 枚举老派写法: 现代写法:
后者没有运行时开销,打包后直接变成字符串,还能和后端 JSON 完美对齐。除非你真的需要数值映射,否则优先用字面量。
3. 外部数据进来从 API、localStorage、URL 参数拿到的数据,永远不要相信它的类型。 请你别这么干: 代码高亮:
const user: any = JSON.parse(localStorage.getItem('user')); console.log(user.name); // 如果 user 是 null?崩了。 正确姿势:
或者更优雅地,写个类型守卫函数: 记住:所有外部输入都是 4. interface 和 type这是新手最容易纠结的问题。其实很简单: 用 用 如果你只是定义一个对象结构,两者几乎等价。但一旦涉及联合、交叉、映射, 我的习惯:对外暴露的结构用 5. 泛型很多人觉得泛型很“高级”,其实它解决的是一个朴素问题:如何写出既通用又安全的代码? 举个真实场景:封装请求方法。 坏写法(返回 代码高亮:
function request(url) { return fetch(url).then(res => res.json()); } 好写法(带泛型):
这里 再比如,你想写一个缓存函数: 注意:这里用了类型断言 6. 写 TS 的三个心法边界清晰,内部自由
总结TypeScript 不会让你变成更好的程序员,但它能放大你已有的工程素养。 如果你本来就有良好的抽象能力、清晰的模块划分、严谨的边界意识,TS 会让你如虎添翼; 如果你习惯“先跑起来再说”,那 TS 可能一开始会让你觉得“处处受限”——但那恰恰是你需要成长的地方。 别怕类型系统,它不是来限制你的,而是来替你记住那些你不想再记的细节。 现在,打开你的编辑器,给那个最常被别人问“参数怎么传”的函数,加上类型吧。你会发现,世界突然安静了。 该文章在 2026/2/7 10:55:27 编辑过 |
关键字查询
相关文章
正在查询... |