现在每个前端项目都要上这个,感觉语法丑陋,读起来并没有很优雅,还有学习门槛,真的有必要吗?
|  |      1EPr2hh6LADQWqRVH      2022-01-21 16:17:15 +08:00  4 不是。内裤也不是必须的,还要花钱买,完全没有必要。 | 
|  |      266beta      2022-01-21 16:18:42 +08:00 共存期确实比较烦,但是有了提示和约束,对开发体验和代码质量有很大帮助。 | 
|      3lneoi      2022-01-21 16:20:39 +08:00 增加的噪音太多了   可以不全部上, 必要的项目和库上一下 | 
|      4iikebug      2022-01-21 16:20:55 +08:00 单个人的项目没必要,但是二个人及以上,这东西就很用必要了,看一下类型就能知道很多东西。 | 
|  |      5murmur      2022-01-21 16:24:58 +08:00 对于简单项目,赶紧堆工作量出成果要紧,ts 的学习成本也是成本 | 
|      6grewer      2022-01-21 16:26:18 +08:00 interface+注释,  看到这个组件就知道哪些是必须的, 哪些是可选的, 哪些是函数存在什么问题等等,  用起来舒适 | 
|  |      7luob      2022-01-21 16:27:09 +08:00 你完全可以写 JavaScript 然后命名为 .ts ,并没有人不让你写 AnyScript | 
|  |      8SxqSachin      2022-01-21 16:28:50 +08:00 不必须,但是有了类型的话团队协作会更好一些,同时代码提示也更友好。 | 
|  |      9cmdOptionKana      2022-01-21 16:29:19 +08:00 单人小项目也建议用 ts ,重构的时候方便很多,代码提示也更精准,而且最大的好处是“渐进式”,你可以先使用其中一小部分看得顺眼的特性,后续再慢慢熟悉。 | 
|  |      10yaphets666      2022-01-21 16:31:07 +08:00 这个东西就是增加开发成本,略微提高代码质量(也有相当大可能性降低代码质量).你能接受这种交换,那就合适.否则不合适. | 
|      11micean      2022-01-21 16:31:19 +08:00 注解和高级类型对于我帮助很大,看了一天就上手了,相信 ts 不是一个问题 | 
|  |      12gouflv      2022-01-21 16:36:37 +08:00 via iPhone 没人逼你用吧? | 
|  |      13murmur      2022-01-21 16:38:59 +08:00  7 你们不要高估那种中低级水平的项目,需求不定,设计不定,接口不定,你满心欢喜的拿到接口才发现,除了 http 协议是对的,其余的一塌糊涂 这个时候你写各种定义就是浪费生命 | 
|  |      14otakustay      2022-01-21 16:44:42 +08:00 我现在无论项目大小,写 TS 比写 JS 还快…… | 
|  |      15zhaol      2022-01-21 16:46:08 +08:00 没有代码提示写的下去? | 
|  |      16KMpAn8Obw1QhPoEP      2022-01-21 16:46:48 +08:00 via Android @murmur 多么痛的领悟!如果需求瞎改 又狂赶工期 老代码不及时更新维护 开发前不能详细调查仔细设计 那过期的定义就是灾难 误导性极强 | 
|  |      17sweetcola      2022-01-21 16:48:55 +08:00 以前的我:TS 这东西谁会用啊,太恶心了,100 行代码里要写 50 行定义,太啰嗦了。 现在的我:真香 | 
|  |      18KMpAn8Obw1QhPoEP      2022-01-21 16:52:36 +08:00 via Android  1 JS 太随便了 想写好对使用者的要求很高 用 TS 至少可以保证一定程度的规范性 减少低级错误 还可以把类型信息显式体现在代码中 个人觉得 TS 那部分的学习成本 本来是在学 JS 时就必须要下的功夫 欠的债早晚要 而且 TS 的类型系统能玩出花来… | 
|  |      19KMpAn8Obw1QhPoEP      2022-01-21 16:53:18 +08:00 via Android @enchilada2020 欠的债早晚要还 | 
|  |      203dwelcome      2022-01-21 16:58:14 +08:00 很多人用 TS ,就是为了用智能提示推导吧。 然而我写代码,基本上都是全关提示的,IDE 里一片寂静。 | 
|      22wukongkong      2022-01-21 17:17:57 +08:00  1 @enchilada2020 接口变化首先修改定义,需要修改的地方就会自己跳出来了。。。多方便 | 
|  |      233dwelcome      2022-01-21 17:21:14 +08:00 | 
|  |      24qzhai      2022-01-21 17:28:12 +08:00 我觉得还是看 这个项目经手的人有多少,超过 2 个用没问题的。。但前提是要遵守规范,如果都是 any 走天下 意义不大 | 
|  |      25alsotang      2022-01-21 17:47:32 +08:00 不用的话,不敢重构。ts 能在编译期暴露 js 在运行时才会暴露的错误。 | 
|  |      26yuuko      2022-01-21 17:56:31 +08:00 逃不过真香定律 | 
|      27DrakeXiang      2022-01-21 18:37:05 +08:00 这东西对个人来说就是体验的问题,ts 的类型校验能防止 bug 和 typo ,智能提示对记不住变量或者方法名的我简直无法离开,重构或者 debug 的时候 ts 的项目找引用更容易,比搜索好用得多,还能一键重命名变量方法名。最近几年工作的项目都是 ts ,偶尔用 js 写个 demo ,连变量重名了都不报,typo 也不报。等你习惯了 ts 带来的好处,脱离之后就会感到不适,不是说不能写,但写起来就难受 | 
|  |      28zhangshine      2022-01-21 18:44:39 +08:00 用了都说好 | 
|  |      29otakustay      2022-01-21 19:08:40 +08:00 @murmur  #13 这种时候写定义才是节约生命,接口改了直接改完最外层的类型,tsc 一路改报错,改完报错放心提代码睡大觉 | 
|  |      31yyfearth      2022-01-22 05:36:56 +08:00 小项目 个人项目完全没必要 但是大项目 需要多人合作的项目 有 Type 会明显降低 bug 几率和沟通文档的成本 | 
|      32srlp      2022-01-22 12:14:36 +08:00 typescript 的成本无非这几类: 1. 学习成本 都 2022 年了,前端工作者 / nodejs 工作者几乎必然需要学习这个。 个人项目练练手,正好为大型项目做心理准备。有任意“带类型编程语言( c++、java 、...)”经验的人,应该都可以较快上手。 2. 编译成本 小型项目一个 tsc 走天下,没看出有什么编译成本。 大型项目上 esbuild ,rollup ,webpack ,也不差多一道 typescript 编译的工序。 3. 编写成本 增加了很多 type ,interface 定义 4. 选择第三方库时候需要找有 d.ts 支持。 现在很多都有自带或者第三方类型支持了,问题不大吧。 收益: 1. 运行时错误提前到编译期暴露,踩过坑的都说真香 2. 智能提示。别人的接口,即使没有注释,看类型定义也能连猜带蒙略知一二。 3. 连带的,重构之类的多了一重保障,楼上一位哥们说接口类型变来变去,本人认为更需要带类型了,每次类型一变,编辑器相关地方全都标红,改完问题就心里有底。没有类型的话,只能人肉追溯代码调用链,或者 ctrl+F ,如何保证该改的地方都改了 ? 就本人实践而言,收益远大于成本。 | 
|      33jones2000      2022-01-22 18:11:40 +08:00 不用 typescript ,js 本来就是开放式的编程,天马行空, 想怎么写就怎么写, 没有强制变量类型。 记事本+chrome F12 就可以搞完的事。最麻烦的就是编译, 搞的跟 c++,java 一样, 图个省事才用 js 写, 搞的太麻烦了。 | 
|  |      34bzw875      2022-01-22 22:33:52 +08:00 不是必须,我在写的项目因为某些条件使用不了 typescript 。写是还可以写,就是感觉没有 typescript 比较难受,看不了参数类型,数据类型,引入库的参数类型。很不方便,效率下降得厉害 | 
|  |      35msg7086      2022-01-23 02:55:45 +08:00 via Android 我喜欢写 coffee 。再加上 ts 双击会用视频播放器打开…… | 
|  |      36KMpAn8Obw1QhPoEP      2022-01-23 12:30:32 +08:00 via Android @msg7086 哈哈哈哈笑死 |