typescript吧 关注:674贴子:637
  • 4回复贴,共1

TS编译报错,依然可以生成JS,意义何在?

只看楼主收藏回复

最近刚开始学习TS,主要是为了学Angular4.0
发现在写完TS代码后 编译器产生了报错,但依然可以生成JS文件
比如在TS中有一个类型是 ReadonlyArray<T> 表示变量为只读类型,不可进行操作
但如果我进行push操作,编译器报错,但生成的JS文件是可以正常工作的
并且发现编译后的JS文件几乎完全丢失了原本TS中的设计初衷
比如接口什么的,还有很多一些新的规范 编译后的JS完全没有相应的定义和规范
那么TS设计这些新的东西不是给程序员自己看的吗?而并非为了程序的实现
这些rules违不违规看程序员的个人意愿,反正最后对程序也没影响
哪位麻烦解释一下其中的缘由


IP属地:江西1楼2017-12-06 21:18回复
    ts本身就只是对js的一个扩展,到最后还是要编译成js去用的,js里面没有的东西,ts编译出来的自然也不可能会有
    你可以把ts理解为一个辅助工具,不用工具也可以,但用了工具,很多时候会更方便
    比如一个大型多人协作的项目最后要重构的时候你会发现没有类型系统的js重构起来简直让人想撞墙,但用了ts以后,照着ts的错误提示去改,会快很多


    IP属地:浙江2楼2018-02-21 15:18
    收起回复
      你可以不用ts,直接用js实现你原来想实现的功能,然后你对比一下效率,就不会问这个问题了。


      IP属地:广东来自iPhone客户端3楼2018-04-03 17:39
      回复
        工具啊,你用c++最后还去看机器码吗?ts替你检查了js的很多类型,只需要编写正确的ts代码就好,维护也是看ts代码,最后生成的js代码不需要关心了。


        IP属地:浙江来自Android客户端4楼2018-10-11 16:20
        回复