长话短说,我写了一本《TypeScript 教程》,已经发布在网道,欢迎大家访问。
我以前写过《JavaScript 教程》和《ES6 教程》,很自然地,一直有人问,有没有《TypeScript 教程》?
嗯......说实话,我一开始不想写。
我那时的想法是,TypeScript 就是为 JS 语言添加静态类型系统。如果你真需要静态类型,可以考虑使用其他更成熟的语言(比如 Rust 和 Java),再编译成 JS(wasm 模块),何必新学一门语言呢。
但是,形势比人强。TypeScript 越来越流行,成为前端开发的主流工具,各种项目纷纷移植过去。我就逐渐改变了想法,觉得还是应该上车。
2021年底,我开始动笔,没想到一写,就是断断续续一年多。
写作过程很痛苦,我低估了 TypeScript 的难度。它为了适配 JavaScript,有很多不符合直觉的规则,内容又多又杂。
加之我对很多地方不够熟悉,边写边查资料,更加拖延了写作进度。
今年3月份,我已经快写完了,TypeScript 5.0 突然发布了,装饰器(Decorators)改用全新语法。我不得不重写这一章,于是装饰器现在就有新语法和旧语法两章,因为 TypeScript 同时支持这两者。
如今终于完稿,如释重负,欢迎大家多提供反馈。
这个教程采用创意共享许可证,免费使用,但需要保留署名,也就是保留出处。源码放在 GitHub,大家发现任何问题,欢迎提交 Issue 和 PR。
(完)
萧俊介 说:
感谢老师的无私奉献,辛苦了~
2023年8月 8日 11:09 | # | 引用
maxwell 说:
阮大太强了,马上去拜读
2023年8月 8日 11:17 | # | 引用
lucas 说:
老师真的牛,写的教程简洁明了,感谢无私奉献
2023年8月 8日 11:23 | # | 引用
tthem 说:
nice,刚刚好要学ts,阮神的教程简直是及时雨。
2023年8月 8日 11:28 | # | 引用
立夏 说:
阮老师也是互联网界为数不多的布道者
2023年8月 8日 11:28 | # | 引用
Marx 说:
感谢阮大,造福大众
2023年8月 8日 11:32 | # | 引用
小恐龙 说:
太强了!
2023年8月 8日 11:35 | # | 引用
二厶得云 说:
马上学!!
2023年8月 8日 11:36 | # | 引用
大白 说:
马上就去拜读
2023年8月 8日 11:40 | # | 引用
bighb 说:
终于等到了!!!!
2023年8月 8日 11:47 | # | 引用
Shane Xan 说:
太强啦,感谢阮大的无私奉献~
2023年8月 8日 11:53 | # | 引用
Ivan 说:
有实体书卖吗?想支持一下
2023年8月 8日 11:54 | # | 引用
苏三州 说:
大赞,阮大大威武
2023年8月 8日 11:59 | # | 引用
羽·書 说:
100个赞????
2023年8月 8日 12:23 | # | 引用
Euler 说:
阮大真乃楷模
2023年8月 8日 13:46 | # | 引用
地精 说:
如果在网上搜索资料时有阮一峰的文章,必点进去,这就是金字招牌,是质量的保证
2023年8月 8日 14:37 | # | 引用
学习1 说:
好用吗?
2023年8月 8日 14:50 | # | 引用
见山 说:
太强了,阮大
2023年8月 8日 14:56 | # | 引用
sinoyster 说:
阮大大全才啊
2023年8月 8日 15:13 | # | 引用
kingfeng 说:
已经学过一遍了,阮大大的ts教程得再学一遍!
2023年8月 8日 15:55 | # | 引用
阮小弟 说:
大神有点晚了啊,ts都火了好多年了,早些年出这个就是我的手册了
2023年8月 8日 17:03 | # | 引用
Charlie 说:
有没有大佬转在epub,我好放在kindle上看?
2023年8月 8日 17:55 | # | 引用
那拉提 说:
感谢哟,不学好对不走阮大的辛苦付出!
2023年8月 8日 18:02 | # | 引用
独元殇 说:
太好了,又有新书读了!
2023年8月 8日 18:56 | # | 引用
CC 说:
阮大出品 必属精品
2023年8月 9日 09:48 | # | 引用
天了鲁 说:
一定要拜读!
2023年8月 9日 09:53 | # | 引用
iHTCboy 说:
大佬太强了,刚刚好最近在学习和使用 ts!
2023年8月 9日 11:31 | # | 引用
无名 说:
我一直以为是:形势逼人强。
2023年8月 9日 13:58 | # | 引用
LoongWang 说:
一定要仔细的阅读
2023年8月 9日 15:57 | # | 引用
隔壁王二 说:
老师,强。
2023年8月 9日 20:05 | # | 引用
问天玄铁 说:
功在当代,利在千秋!期待阮大出rust的教程,我觉得阮大写的教程结构清晰深入浅出容易理解。
2023年8月 9日 21:00 | # | 引用
长生 说:
阮一峰大佬的文章和书要好好学习, 收获很大
2023年8月 9日 23:45 | # | 引用
leestar 说:
【如果你真需要静态类型,可以考虑使用其他更成熟的语言(比如 Rust 和 Java),再编译成 JS(wasm 模块),何必新学一门语言呢。】
【它为了适配 JavaScript,有很多不符合直觉的规则,内容又多又杂。】
老师写完教程之后,关于这2个如何看?还有必要去学么,囧。
2023年8月10日 15:12 | # | 引用
cnwhy 说:
一峰出品,必是精品
2023年8月10日 17:57 | # | 引用
yliu 说:
牛逼~,虽然ts我用了很久,不过相信阮大的书一定会有所收获
2023年8月10日 21:35 | # | 引用
echeverra 说:
感谢,必须学起来~
2023年8月11日 09:25 | # | 引用
hesh 说:
感谢,感恩
2023年8月11日 09:36 | # | 引用
孙照祝 说:
正想学习一下typescript,辛苦了阮老师
2023年8月11日 20:14 | # | 引用
龚国玮 说:
老师的表达简单,准确。太牛了。
2023年8月14日 20:13 | # | 引用
drake 说:
非常感谢阮老师
2023年8月15日 08:56 | # | 引用
ethanLiu 说:
给大佬提了一个Issue和一个PR了,能有我的一份贡献,很高兴。
2023年8月15日 10:01 | # | 引用
洁 说:
正准备学 这种端起碗就有饭的感觉爽死了
2023年8月19日 19:20 | # | 引用
noob 说:
安得广厦千万间,大庇天下寒士俱欢颜
2023年8月22日 09:17 | # | 引用
水云身 说:
发现一个有隐患的写法
const arr:[number, number] = [1, 2];
function add(x:number, y:number){
// ...
}
add(...arr) // 正确
上面示例中,arr是一个拥有两个成员的元组,所以 TypeScript 能够确定...arr可以匹配函数add()的参数数量,就不会报错了。
这种写法确实不会报错 不过是有隐患的 arr定义之后是可以增删元素的。
2023年8月22日 10:47 | # | 引用
KaiWen 说:
感谢老师的创作并且无私分享
2023年8月23日 14:24 | # | 引用
大東 说:
没有纸质的吗?想买
2023年8月24日 19:44 | # | 引用
一个小前端 说:
谢谢 阮大 感谢你一路无私奉献
2023年8月25日 11:33 | # | 引用
冰河 说:
某金过来的,点开时想着50以内可以接受,点开后翻了几章确认了不要钱???
有点惊讶。
2023年8月28日 16:14 | # | 引用
什么什么啊 说:
从阮老师身上看到了学无止境!
2023年8月29日 09:58 | # | 引用
dyzzbao 说:
@水云身:
确实,如果想要杜绝使用Array的splice或者pop等函数,需要添加readonly,试图使用arr.pop()就会报错
2023年8月30日 11:16 | # | 引用
屿舍 说:
刚看了一部分,讲解得非常详细,收获很大
2023年8月30日 11:49 | # | 引用
BrianLiu 说:
感谢阮老师
2023年9月 7日 07:03 | # | 引用
小小程序媛一枚 说:
想学ts,想来看看阮老师有没出,不负众望,感谢
2023年9月14日 10:09 | # | 引用
藤原拓海QAQ 说:
阮老师这份坚持,实在佩服
2023年9月19日 16:43 | # | 引用
阿不思的落胤 说:
阮老师太强了,我的bash编程就是看的您的教程
2023年9月22日 16:23 | # | 引用
nightowl 说:
太强了
想去写 vscode 的扩展
发想自己的 ts 水平太差了
过来好好强化一下
2023年9月27日 17:52 | # | 引用
藤原拓海QAQ 说:
阮老师这份坚持,实在佩服
2023年10月17日 18:39 | # | 引用
Jack 说:
『写作过程很痛苦,我低估了 TypeScript 的难度。它为了适配 JavaScript,有很多不符合直觉的规则,内容又多又杂。』
十分同意!!!
2023年10月18日 17:41 | # | 引用
刚刚失业 说:
感谢老师的无私奉献,辛苦了~
2023年10月26日 08:59 | # | 引用
全干 说:
非常感谢.布道者
2023年10月26日 14:21 | # | 引用
Sunshine 说:
感谢作者的付出,同时提出我的一点批评意见(暂时只读到函数类型那一章):
行文风格偏重于对语言相关特性的介绍(是什么),而较少深究语言“设计成这样的特性相比不这样设计带来的好处”(为什么),也基本不涉及“通过案例强化印象、辅助学员吸收活用这些特性”(怎么做),有限的代码示例基本是孤立的。
因此在我看来这部书比起Tutorial更像是一本文风亲民一点的Reference。
2023年11月25日 05:00 | # | 引用
老袁 说:
之前看过ES6的电子版,后来买了纸质版,内容简洁明了,学习效率很高,是我喜欢的风格。
你的付出非常有意义,感谢无私的奉献!
2023年12月 8日 10:10 | # | 引用
海拓原藤 说:
确实非常详细,感谢老师
2023年12月11日 18:50 | # | 引用
Man 说:
阮老师永远都是阮老师,博客行文稳重,简洁。现在越来越多的技术公众号写手标题党盛行,不博眼球不罢休,这个世界需要阮老师正本清源以正视听
2023年12月12日 15:42 | # | 引用
Man 说:
网道是阮老师自己维护的吗? 我看到所有教程都在上面
2023年12月13日 11:19 | # | 引用
Jason 说:
感谢阮老师!我这就去学!
2023年12月14日 19:56 | # | 引用
郭减 说:
我想问,只有我一个人不想学ts吗。。。。
2023年12月26日 16:27 | # | 引用
安图新 说:
感谢阮老师!佩服技术布道者!
2024年1月 6日 21:48 | # | 引用
yuxx 说:
网道打不开了!!
2024年3月28日 17:09 | # | 引用
Tomi 说:
感谢大佬,看了你的一些文章觉得特别好,会持续关注你的文章。
2024年4月16日 09:34 | # | 引用
Aring 说:
阮一峰,我编程路上引路人,永远的神
2024年4月28日 11:56 | # | 引用
萝卜 说:
阮老师要不要出版下,麻烦不?我习惯读纸质书。当年是看你的es6,看了3遍入坑vue的。受益匪浅。
2024年5月15日 09:52 | # | 引用
晨晨 说:
正想学习一下typescript,辛苦了阮老师
2024年6月12日 13:52 | # | 引用
CoderZHL 说:
辛苦阮老师,正好在学typescript
2024年6月26日 16:57 | # | 引用
逸行 说:
感谢阮老师
2024年7月25日 09:27 | # | 引用
ttyym 说:
跟着官方文档学的TypeScript,,妈呀,同样地低估了TS的难度...我滴妈呀,好复杂...
2024年9月19日 15:16 | # | 引用
张延锋 说:
在国内绝大多数业务型的公司,TS是没有人严格去写的,我敢说,绝大部分项目中都是各种any,排除面试要求,和领导的强制要求这两大因素,一线程序员写TS唯一的理由就是 它能提供友好的代码提示,这点我想大多数程序员应该承认吧。。。但是,现在已经2024年了,随着编辑器的进化,和智能的AI编辑器插件已经完全支持各种提示。我来看TS,完全是应付面试
2024年9月26日 11:58 | # | 引用