文档章节

TypeScript……真香

郁也风
 郁也风
发布于 05/19 19:48
字数 672
阅读 23
收藏 0

写前端或者用 node 写命令行小工具一直采用的 es6 的语法,对于 TypeScript 则是秉持敬而远之的态度,毕竟团队中多推广一门语言所需要花费的精力都是让人望而却步的。所以对于 JavaScript 的缺陷也一直是忍受着。

对于秉持「面向 IDE 编程」和「面向重构编程」理念的本人来说,JavaScript 这两点其实都很差,虽说 WebStorm、VSCode 之类的已经在这方面有了不错的支持,但也只能说是「不错」而已。

此次因为要写个小工具把我那堆 txt 格式的电子书转换为 epub,涉及到文档章节分隔、转换等操作。一开始是用 node + es6 的语法直接写,配合单元测试,差不多写了 4、50 个 js。之后显然是发现问题开始重构了,一通代码方法独立、合并、转移的骚操作之后,再跑单元测试,意料之中的一片红啊。

然后突发奇想,要不试试 TypeScript?反正是个个人小工具而已,试验品嘛。

接着就跑去官网看了个把小时,之后才发现原来还有个中文网,叹。作为一个英语废物,接着转战中文网又看了个把小时,感觉自己优势很大之后,就在代码上切了个 ts 分支开搞,首先初始化了 TypeScript 配置,并且把限定设置为最严格(要玩就玩的彻底),然后从工具方法开始一个个把 js 扩展名改为 ts,根据 WebStorm 中的提示挨个给属性加说明,最后修改对应测试代码。

结果发现这个过程并没想象中的代价那么大,所有代码的修改也就一个晚上就搞定了。第二天开始在此基础上重构,我去,居然体验到了 java 上重构的感觉。

作为「面向 IDE 编程」者,看着打点提示的那些选项简直有点热泪盈眶啊,之前用 js 的时候提示的往往是一堆有用无用的,现在则是提示信息干干净净清晰明了。

TypeScript 还是支持泛型的,看着那些明确显示的提示信息,我澎湃的内心告诉我:回不去了……

© 著作权归作者所有

郁也风
粉丝 16
博文 31
码字总数 17009
作品 0
长宁
项目经理
私信 提问
为vue3学点typescript(1), 体验typescript

看了vue conf 2019的视频, 特别兴奋, vue3要来了! vue3是用typescript开发的, 我揣测在vue的带领下typescript会成为主流呢, 要不先学点. 19年最酷的前端技术 我是19年初开始使用的typescrip...

铁皮饭盒
07/01
0
0
来用 TypeScript(技术周刊 2019-04-01)

前端快爆 WebKit 已经实现了 ResizeObserver API,此前该 API 已被 Chrome 支持。通过 ResizeObserver 可以监听元素盒子尺寸的变化。🔗 点评:随着 Edge 迁移到 Chromium 内核,只剩 Fire...

阿里妈妈前端快爆
04/03
0
0
开始使用 TypeScript

简介 TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。安德斯·海尔斯伯格,C#的首席架构...

施立
2017/11/02
521
3
demo05 webpack + typescript

1.关于 typescript typescript(简称 ts )是 javascript 的超集,具有类型系统,是可编译的。可以想象得到,在代码运行之前能够进行代码类型检查和编译是多么重要的事儿(就像 Java 等强类型...

SimpleXD
05/25
0
0
【译】Typescript的类型(一)

原文地址:TypeScript — JavaScript with superpowers 原文作者:Indrek Lasn 译者:liaozeen JavaScript 很酷。但是你知道比JavaScript更酷的是什么吗? 是Typescript。 你能说出下面代码哪...

liaozeen
03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

秒杀系统思路

业务分析 技术挑战 请求响应要快:无论成功失败,需要尽快返回给用户 架构设计   前端:静态化   站点层:限制请求数   服务层:乐观锁写缓存   数据库CAP:读写高可用,一致性,扩容...

雷开你的门
19分钟前
7
0
最全的教育行业大数据解决方案,个个针对痛点

大数据的悄然兴起也带动了教育行业的革新,移动教育、云课堂等的出现,使得教育行业再次成为了可以中长期保持高景气的行业。然而,初涉数据领域的教育行业同时也面临着相当大的难题,还需要更...

朕想上头条
23分钟前
5
0
预约模块设计分析

1.预约功能描述: 预约是小程序中常见的一种商品管理系统,商家可根据商品或服务的特性,灵活设置预约细节,为用户提供线上预约服务,如场地预约,商品预定等,实现高效经营。 预约场景: ...

鱼煎
26分钟前
4
0
阿里云日志服务构建网站实时分析大盘实战

场景分析 挖掘数据价值是当前企业级网站共同面临的问题。买买网是一个电商平台网站,每天拥有大量的用户访问和购买记录。为了引导用户直接消费,提升购买率和转化率,不同的用户类别需要推荐...

阿里云官方博客
27分钟前
2
0
TL665xF-EasyEVM开发板硬件处理器、NAND FLASH、RAM

广州创龙结合TI KeyStone系列多核架构TMS320C665x及Xilinx Artix-7系列FPGA设计的TL665xF-EasyEVM开发板是一款DSP+FPGA高速大数据采集处理平台,其底板采用沉金无铅工艺的6层板设计,适用于高...

Tronlong创龙
30分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部