从JavaScript到TypeScript

11 篇文章 2 订阅

从JavaScript到TypeScript

前言

首先,本文假定读者已经对JS和TS有一定的基础了解。
不了解的可以移步百度百科:JSTS

简单对比

简单点说,对于开发人员而言,没有什么能比让错误的代码在一开始就原地爆炸更能保证项目质量

JS是一种弱类型的解释型语言,上手非常容易,写起来也很灵活,入门非常容易(尤其是对于早期写惯了C/C++,Java的人来说)。

但是很快,你就会发现,即使你写明显错了,也不会有任何提示,直到运行了这段代码,才有可能发现这个错误。而且,项目一大,就会出现这种情况,无法看明白他人写的函数,尤其是那种一层套一层,横跨多个文件的js函数,你根本无法预知函数的参数和返回值到底是什么类型,你需要为此翻看很多文件。你常常要为了搞明白到底是你写错了还是你队友写错了而苦恼。

这非常不利于团队合作,大型项目,工程化开发。

一种新技术、新语言的出现,往往都是为了解决以往不好解决/无法解决的问题,或者是想要更加方便的做某件事情。
TypeScript实际上就是想解决JS类型缺失的问题。Type就是类型。

TS实际上是JS的超集

TS实际上最终会被编译为js代码去执行,他增加了静态类型类型注解接口模块等功能,在编译时,就会检查各种参数是否正确,在一开始就可以通过IDE/编译器对这种代码报错,让程序员提早修改代码。
因此,对于JS程序员来说,学习TS应该是没有难度,特别平滑的。

TS给我的感觉,介于弱类型和强类型之间,也就是其特点恰好处于JS和C/C++、Java之间,同时兼具了灵活多变和编译报错的功能。

谁在转向TS

时间:2020-12-09

node.js 推出ts-node,这也是其他很多项目/框架可以使用ts的基础。

vue在2.x版本TS支持得不是很好,依然推荐使用JS开发,至于3.0版本,推荐TS开发。
参考:TypeScript 不适合在 vue 业务开发中使用吗?- 尤雨溪回答

React 当前版本用TS写已经是主流

egg Egg.js本身并不是使用Typescript开发,但是它提供了相对应的index.d.ts文件,让你可以使用TS引入Egg。

midway默认用的就是用TypeScript开发。而midway由Egg发展而来。

cocos作为一个游戏开发引擎,随着版本变化,开发的主要语言从oc到c到lua或js,最终推荐TypeScript。

推荐参考资料

想更多的了解对比,可以看这些文章。
博客园——从 JavaScript 到 TypeScript
JavaScript和TypeScript的对比
TypeScript 解决了什么痛点?
TypeScript VS JavaScript 深度对比

关于类型注解
TypeScript的类型注解和类型推断
类型注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值