TypeScript与JavaScript对比

一,对比二者类型系统

类型系统特性JavaScriptTypeScript
类型如何绑定的?动态静态
是否自动转换类型?多数时候否
何时检查类型?运行时编译时
何时报告错误?多数在运行时多数编译时

二,类型如何绑定??

        JavaScript动态绑定类型,因此必须运行程序才能知道类型。在程序运行之前,JavaScript对于类型一无所知

        TypeScript是渐进式类型语言,在编译之前,并不需要知道全部类型,即使是没有类型的程序,TypeScript也能推导出部分类型,捕获部分错误,但不全面,大量的错误会暴露给用户。

三,是否自动转换类型?

        JavaScript是弱类型语言,如果执行无效的操作,例如计算一个数和一个数组的和,会进行隐式转换,开发过程中可能会因此导致难以追踪的错误。

        TypeScript如果遇到这种情况,会报错,如果必须转换类型,需要表明。

四,何时检查类型?

        多数情况,JavaScript不在乎使用的什么类型,会尽自己所能把提供的值转换成预期的类型。

        而TypeScript会在编码时对代码做类型检查,不用运行代码,便可获得错误反馈,便于发现错误及时反馈。

五,何时报告错误?

        JavaScript在运行时抛出异常或执行隐式类型转换。必须真正运行程序时才能知道有些操作是无效的

        TypeScript在编译时报告句法和类型相关的错误,会在编辑器中显示,输入代码立即获得反馈。

        注:仍存在大量错误TypeScript在编译时无法捕获,例如堆栈溢出,网络断连和恶意的用户输入,这种运行时的异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值