你为什么不用TS

想不想用其实是看公司的,如果在的部门现在使用的是vue2,本身就不支持我使用TS。

不过,我本人还是不愿意使用TS的。因为TS已经违背我之前学习JS的初心了,我学JS本身就是因为其本身的灵活,不是强定义类型,变量直接定义赋值即可,这几点吸引了我。虽然我也知道TS易于管理,易于后期维护,我也学习了TS,并且在Vue3,React中使用过typescript写过几个自己的小项目。如果未来的项目或者以后的公司要求使用TS,我也会使用的。

但是这并不影响我不想用TS,我觉得加入了一堆泛型,接口(interface)和定义好数据类型的变量的JS代码,不是最初喜欢的那个JS了。我喜欢的JS是那个无拘无束的JS,虽然我改BUG错误的时候也改的头皮发麻,但是我就是喜欢写JS的感觉。TS虽然纵有千般好,但抵不过我写你时不爽的一时过。

接下来我们聊聊 TypeScript 附带的其它问题。这些问题需要具体问题具体解决,所以我在这里不提供解决方案,只是告诉读者可能面临的问题以及可以解决到什么程度。本人用的是 2019 macbook pro (CPU: 2.6 GHz Intel Core i7 + Mem: 32 GB 2400 MHz DDR4)。

1、hot reload 速度慢。以前改完代码之后立刻会重新刷新页面或者热启 node 服务器。然而现在有 TypeScript 之后还有额外的 transpile 一步。reload 的速度直接从几秒变成几十秒。我们做了一些优化,但是还是不能像以前那么快。

2、VSCode 占用资源暴增。VSCode intellisense 速度缓慢。最难受的是报错是在写完该行后 10 秒左右。做了优化之后稍微好了一些。

3、第三方库不支持 typscript。这个可以解决,就是自己写 typed interface。

4、天书一般的报错信息。很高一部分比例的错误长这个样子:

No overload matches this call.
  Overload 1 of 3, '(props: { href: string; } & { action?: ((instance: ButtonBaseActions | null) => void) | RefObject<ButtonBaseActions> | null | undefined; ... 8 more ...; TouchRippleProps?: Partial<...> | undefined; } & { ...; } & CommonProps<...> & Pick<...>): Element', gave the following error.
    Type '{ to: string; label: string; classes: { root: string | undefined; }; }' is not assignable to type 'IntrinsicAttributes & { href: string; } & { action?: ((instance: ButtonBaseActions | null) => void) | RefObject<ButtonBaseActions> | null | undefined; ... 8 more ...; TouchRippleProps?: Partial<...> | undefined; } & { ...; } & CommonProps<...> & Pick<...>'.
      Property 'to' does not exist on type 'IntrinsicAttributes & { href: string; } & { action?: ((instance: ButtonBaseActions | null) => void) | RefObject<ButtonBaseActions> | null | undefined; ... 8 more ...; TouchRippleProps?: Partial<...> | undefined; } & { ...; } & CommonProps<...> & Pick<...>'.
  。。。

说了这么多,如果你问我是否推荐 TypeScript,我只能说看情况。type check 对于大型项目来说太重要了。读和写代码的时候,有 type 也会在一些方面提高程序员的效率。但是我认为 TypeScript 可以提高的空间还有很多。如果你很在乎开发速度,快速迭代,那么建议你继续用 JavaScript。如果你需要高稳定性,那么建议你使用 TypeScript。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值