Nodejs下typescript真的好用吗?

发布于 1周前 作者 phonegap100 来自 nodejs/Nestjs

Nodejs下typescript真的好用吗?

楼主接触 js 十多年了。 之前也写过 flash 的 actionscript3 。目前还没有用过 typescript,感觉 typescript 主要是加了一个类型系统。

当时在真实工程环境里头不会麻烦吗,感觉代码阅读的难度和写起来都更麻烦了。

不知道实际操作过的人会觉得好用吗,不会影响开发效率吗。

85 回复

当时 -> 但是


好用? -> 真香

我觉得看团队 小团队没必要 但是大团队也没必要 只是大团队才能从中获得到一些好处

debug 的时候,你是怎么检查一个对象的?想要看看它里面的方法,属性,是不是只能 console 出来?或者打断点?无论怎么样都要运行时浏览器里看是不是?有了类型,在编辑器里就知道它是个什么玩意,这就是类型带来的最本质的快乐,你说它香不香。

代码补全很香啊,再也不怕打错字了。。。

加上类型系统明明是读起来和写起来都更简单了。

反正调试起来有代码映射,编译运行基本也是透明的。

真好用!再也回不去 js 了

你都写过 as3, ts 还用学么?

读起来简单了+1

适度用 any 的话就不麻烦很爽,如果是强迫症都要整上类型就不爽了

#4 那是写 node 香,写前端臭。

最近的一个项目中使用的 Typescript,加了很多类型题型,还是很有帮助的

自动提示很爽哇. 维护起来也方便

写后端必备吧,前端不见得一定爽

自从用了 typescript 感觉少写了好多 bug

这么一总结有道理。

麻烦?
习惯 C++/C#,写 js 的时候,没有类型总觉得心理没底,感觉流程没有保障,像 C#那样,隐性类型转换都报 error 我才放心···

恕我偏激。不用 ts 的都应该去枪毙。
这段时间看别人写的 vue 代码简直想吐。
神奇的 js 语法 xjb 乱写你是爽了,别人痛苦了。

语言本身没毛病,就看生态了。微软一贯的风格。

这和生态关系不大吧, 两边生态是通用的。

好用是好用,但是你架不住喜欢 anyscript 的人

接触 js 十多年了,没接触过静态类型语言吗?

不好用,但实用

说这话没意义,就像在说设计 js 语言的人没接触过静态类型语言一样。

anyscript 还行

用过 C#, Java 之类的语言就不会这么说了

代码补全是编辑器的功能

显然没有深刻体验过。

一开始写起来麻烦是肯定的,影响开发效率也是会的。但是读起来我觉得是很香的,尤其在团队协作时看别人的代码要比看 js 容易了。

静态类型语言的代码补全远超动态类型。补全插件再强也弥补不了这里的差距

我之前一直在写强类型语言的代码,写 JS 时每次都提心吊胆
TS 让我重拾信心

没有类型编辑器顶多补补函数参数了

所以有人说过,新手用 ts 就是加个类型 ,其实还有挺多好用的东西比如装饰器之类的。

反正我 React 和 Node 统一 TS

TS 能把错误拦截在编译阶段而不是运行阶段,这就是最大的意义

typescript 即保留了动态语言轻便灵活的优势,又解决了动态语言散漫难以控制的缺陷,
在类型化上的小小付出并不算什么( 玩进去里面很多东西会非常有趣 )。

居然对 ts 都是一致的好评? 可能是我没做过啥大项目吧, C# 出来玩了几年, 已经完全习惯动态语言了, 类型什么不存在的…

如果没有 vscode 的推,也不可能也不会香的这么快,

写起来的确麻烦, 但维护真香,特别是维护别人的代码,js 的引用特性,有时候真的不好猜这个对象到底有啥子数据,

当然如果你只用 ts 的 any,当我没说

===0
==0
===‘0’
==‘0’

个人感受:在开发基于特定数据结构的项目时真希望写的是 TS,一来代码提示更高效,二来光靠变量名辨别预期的数据类型是不够的,此时加上类型标注或提示会好很多。另外,类型关联完善的情况下,重构也痛快得多。

阅读难度和编写麻烦度都跟类型完善度有关。类型完善了,读起来和写起来跟 JS 没大差别(除了必要的类型声明和转换,大部分类型都被隐式推到了,编写时不必关心),而且 TS 引入的一些新特性反而有助于提高可读性。当然如果类型不完善就另说了。

我觉得 TS 目前的问题是相关工具生态还不够成熟,准入门槛还不够低。过去一年 TS 在这方面有明显的进步,但还没达到可以让 JS 社区轻易接受的程度。(虽然也许不是 TS 的问题。)

不好用,你要是真仔细写 ts 就知道,ts 现在的缺陷还太多,智能程度也不够,太多地方推导不出来要自己写 hack 。
可读性也是一个问题,有的函数声明加上类型声明可能超过一行,又长又复杂,看的人眼都瞎了。

但是必须用,因为类型检查太重要了。

不好用

很多人是为了用而用

用了一段时间
最大的问题是 tsserver 经常出问题
另外就是结合 react-redux 的范式模板会使得改动变得异常繁琐

那么多年一直用记事本写代码的人,表示坚决不用 ts 。
本来动态可变类型是 js 和 php 的特性和优点,就因为现在部分.net java 程序员参与了进来,硬生生给改成强类型语言了,严重破坏 js 生态系统。
记得前几年有次跟.net 后端对接接口,有个字符串需要拼接处理一下,弄了半天他愣是搞不定,因为他那数据结构定死了,就那样,不能动。
还有就是编译,本人坚决反对编译,现在每次修改程序,改个字符都要重新编译。
喜欢 ts 的,建议直接去写 java 或者 c 程序。
喜欢 js 的请点赞,喜欢 ts 的请忽略本条评论,哈哈!

ts 有 java 的味道,感觉写起来逻辑比 js 更加清晰,但是代码量会比 js 大很多,新人玩个人项目的时候建议用 js,不然你用 ts 只会用成 anyscript

确实偏激了兄弟 你看 TS 推广不开你就明白怎么回事了 VUE 是能写出可读性最高代码的前端框架了

……学过 java 对 TS 很容易上手就是了
纯 JS 不觉得很烦躁吗……

没有类型,心里总有根弦绷着,担心类型不对出错

以前有一门编程语言叫 javascript,后来微软借 ie 参与竞争搞了个山寨版的“js”,从此前端工程师的痛苦开始了,也让 web 前端的发展停滞了将近十年。chrome 好不容易挽回了局面,微软又杀回来了,虽然这次是在更高层面上切入,但混乱又开始了。试想一下,如果真的越来越多的前端开始依赖强类型,那么 js 势必会引入一套自己的方案,届时会会更混乱。历史的轮回从来没听过,哎。

个人预计,js 目前这个小修小补的阶段就快结束了,很快就会像当年 ecmascript 4 一样引入强类型了,届时更混乱。再加上 web 汇编的引入,前端又会乱成一锅粥。

用于后端开发人员,TS 很亲切,ES 5 毫无章法,要人命,ES 6 勉强能用。

ts ?啥子东西哦,这么麻烦。

#56 几天后:真香!!!

小公司用 TS 的话 一个好的产品经理是你的门槛…

个人项目。尝试过用 TS,最后放弃了,主要原因是灵活性不够。而且类型检查只约束程序员,不约束用户输入,处理用户输入时需要额外再写一套检查。
团队项目的话我倒是推荐 TS 的。

确实是真香。但是…当团队要求禁止使用 any 类型,就会有点不太香。

香,不想多说。

个人而言几乎没用过静态类型语言做大项目,公司之前某个项目试了一下 TS,一开始我还很坚持写类型定义啥的,然而做着做着似乎就变成了 anyscript 了。。

毕竟 npm install 是 JS 的包,就算有.d.ts 也难以避免有些地方的返回值是个 any,然后又变回 anyscript 了

我觉得不用写类型很爽。很多项目并不那么需要 ts,为了 ts 而 ts 的话,也许引入的麻烦比解决的问题多。

不用 TS, 当你的项目因为是 js 带来很多 bug 的时候, 说明你需要 TS 了

好处是防止有些人自由飞翔,坏处是你不能自由飞翔了

#59 约束程序员就是 ts 最大的意义呀,任何语言写接口都需要自己处理用户输入。写一个 function 给别人用,别人在敲下方法名时就知道参数和返回值的 “shape”, 乱传会编译不过这非常好。

初次写因为有些时候要自己定义类型挺麻烦的,但是事后隔了一段时间再读代码,感觉真的很舒服。

看了评论,弱鸡太多,不写 Ts,去写 Js,活该你写 Js 。Ts 是挡不住的,Js 纵容那些白痴写代码,到后来还是用 Ts 重写,你可以现在不学,但是你也挡不住 Ts,门槛就是要提高。

提高代码质量的下限。。。

难道不是太弱鸡,驾驭不了 js,所以才用 ts 遮羞一下?
说 bug 多的,那是能力不行,写不出好的代码。
就跟驾驭不了手动挡汽车一样,也就只能开开自动挡的。

纯属抬杠,😊

不好用,写 node 可以,写前端除了代码可读性提升了,其他方面没卵用

代码补全 真香~~

说白了 TS 其实就是微软想将 JS 进行 C#化,越看这个语言的版本更新就越明显。写 JS 用上了 ES6,习惯了函数式编程之后又是另一番体验,TS 未必要用上。目前 TS 的特性已经比上几版本复杂太多了,不断复制 C#特性最终会导致过度设计

用 js 写也不会遇到什么难以解决的 bug

我觉得 ts 看起来已经比 js 舒服啊 有类型系统不管自己写代码还是 debug 都舒服多了

ts 不管是可读性还是可维护性都远超原生 js

ts 真香,用了根本回不去,写起来和 C#一样行云流水

肯定推荐 ts 啊,比如有一个对象,后来你需要增加字段、删除字段、修改字段类型,用 js 的话,要自己手动一个个的找到使用的地方去做对应的修改;用 ts 的话,在 interface 那里改一下,等着编译报错,到对应的报错的文件里面,结合 webstorm 的 fn + f2 跳转到下一个错误去修改,直到编译不报错,这样产生 bug 的几率会更小一些吧😂

我以前也是觉得用啥 ts,我用 js 还不是一样搞得定,徒增负担罢了。用了 ts 后,再去接手别人的 js 项目,真的会产生抵触心理😂

你这个应该用 WebStorm 的重构(refactor)功能,自动搜索所有引用并改名。

改名和我说的是一回事吗?

说 Ts 像 Java 、C# 的感觉是不能明白:为什么 Ts 是 Js 的超集,知道 keyof 怎么用吗,知道联合类型和交叉类型吗。Ts 的类型系统不是 Java 、C# 能比的,Ts 可以说很强大,可以描述 Js 的很多东西。

看看评论,很感慨,只想说点非技术性评论,中间有一群人,都是个代码狗而已,哪来的这么多优越感呢,一上来鄙视这个鄙视那个,都是穷逼一个屌丝居多,写代码还写出优越感,足见劣根性。哪有什么喜欢呢,都是为了利益,有经济有享受鄙视的快感,总之都是蠢,自己团架构不行,或者自己技术菜,怪到语言的头上,存在即合理,一门语言将近三十年的历程,还没消失在历史长河中,就足见强大性,也没见那些大神鄙视这个鄙视那个的,说的难听点,都是些 gb 在鄙视人,做人要学会谦逊心存敬畏,都是代码狗居多,穷逼居多,也要比比?合着就你能了?真的是劣根难除?有人觉得看着刺眼,可以举报。

DHH 在自己的项目里头去掉了 TypesScript

关于Node.js下TypeScript是否好用,作为一名IT技术人员,我认为TypeScript在Node.js环境下确实具有显著优势。

TypeScript是JavaScript的超集,添加了静态类型系统和面向对象编程特性。在Node.js中使用TypeScript,可以通过静态类型检查减少运行时错误,提高代码质量和可维护性。例如,以下是一个简单的TypeScript类定义及其在Node.js中的使用:

// 定义一个Animal类
class Animal {
  name: string;
  constructor(name: string) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

// 实例化Animal类并调用speak方法
const animal = new Animal("Dog");
animal.speak(); // 输出: Dog makes a noise.

此外,TypeScript拥有强大的IDE支持,如Visual Studio Code,提供代码补全、重构等功能,可以极大提升开发效率。同时,TypeScript还支持类型别名、接口、泛型等高级特性,使得代码更加灵活和可扩展。

综上所述,TypeScript在Node.js环境下不仅好用,而且能够显著提升开发效率和代码质量。因此,对于需要在Node.js环境下进行大型应用开发的项目来说,使用TypeScript无疑是一个明智的选择。

回到顶部