推上看到的今天的热门讨论关于独立开发是否更适合 JavaScript 而不是 TypeScript

250 天前
 ChrisFreeMan

https://twitter.com/tibo_maker/status/1780920476744757601

好奇有多少人是从 TypeScript 回到 JavScript 的,为什么?你用了多久的 TypeScript 呢 (自由随意的讨论)?

12044 次点击
所在节点    程序员
111 条回复
netabare
250 天前
会抱怨 typescript 的语法的人,大概是不太能真正欣赏 lisp 的闪光点的。
LeeReamond
250 天前
1. Python 的 typehints 在涉及中参考了 ts 已有的成功设计,现在已经广泛普及
2. 在 typehints 普及后,Flask 维护者曾抱怨 python 曾经的无类型时代是个很好的时代,它符合动态类型语言设计的简化繁杂操作的初衷。
3. 个人感觉总体上还是应该支持类型标注的,相当于一种内嵌式的结构化注释,在关键节点添加类型极大增加维护效率。
4. 但是如果严格遵照编译器命令操作动态类型语言,比如为了让编译器通过形参而特意加了个泛型之类的。。。无疑是极大增加中小项目的复杂度了,且意义不大。
msg7086
250 天前
本质上来说,这是看你是喜欢静态类型语言还是动态类型语言的问题。
如果你喜欢静态语言,那你是巴不得把 JS 和 Python 都写成静态语言的样子。
反过来如果你喜欢动态语言,那你巴不得把 C++和 Java 都写成动态语言的样子。

我个人项目是写 Ruby 的,公司是写 Java 的。公司的项目因为很多开发包袱导致大家不愿意去写准确详细的测试,虽然代码都是静态类型的,依然 bug 频发。自己的项目虽然是动态类型的,但是 Ruby 写测试写起来更简单,覆盖可以更好,更方便我做 BDD ,写完的代码在足量的测试覆盖下 bug 反而更少。归根结底是静态还是动态类型并不是决定代码质量的根本因素。
holulu
250 天前
感觉个人开发者用 JS 的成本也不低,用 TS 就更高了。
facebook47
250 天前
都个人独立开发了,相当于全干了,还用 TS 完全就是脱裤子放屁💨
Selenium39
250 天前
公司项目 ts ,个人项目 js
acthtml
250 天前
我两个都用,两个都好用。

用 ts 的时候注释少点,代码多点; js 的话反过来。

有些没写 unittest 的项目,我倾向于 ts ,这样会保证质量的下限。
jixiaopeng
250 天前
我觉得适合自己就好,我最近在开源 web 全栈、app 、小程序的项目,力图解决一些问题,用的就是 js ,也有老师建议我用 ts ,我也会去尝试。
Carseason
250 天前
用了 ts 后不可能再用回 js 的。
老旧的 js 项目我宁愿重新用 ts 重写也不会用 js 继续弄
charlie21
250 天前
穷人说,鱼翅不好吃。
loolac
250 天前
为了写代码有自动提示,还是选 ts, js 如果想要完整提示,就要写注释来声明类型, 感觉还是不如 ts 简洁的。
coderzhangsan
250 天前
独立开发,不要纠结语言的框框,什么业务什么场景用什么才具有较高性价比才是首要考虑。
gongquanlin
250 天前
js 就像 php ,写起来非常爽,怎么写怎么有;真到 debug/修改逻辑的时候,这个函数的对象不知道有哪些属性,那个方法不知道返回值是啥类型哪些属性就捉急了

typescript 结合了 js 和强类型语言的优势,语法糖兼容 js 又能完美的定义类型。开发的时候麻烦点,调试升级爽的一批
musi
250 天前
@gongquanlin #53 别吹了,运行时还是 js ,而且前端好多数据结构依赖接口,你还是不知道接口给你返回了什么类型。
wusheng0
250 天前
回退 JS 那些一般是基于现实考量,所谓的 tradeoff ,有些人却把这个当成不用 TS 、JS 好用的借口。

另外一些就是项目不规范,没有约束,到处 any 或者乱写类型。这些本质上是项目管理问题,也被拿来论证 TS 不好用。

前端门槛已经足够低了,唉,有感而发
gongquanlin
250 天前
@musi 一直强调开发时开发时你还整个运行时,你咋不说编译成二进制跑 v8 里更看不出来了呢

前端数据结构依赖接口,接口谁给的?不知道接口返回啥还是因为没用 ts ,没规定好数据类型啊,活该不知道返回了啥

也不知道你喷的啥🤣你的回答堵了你自己的嘴🤣
musi
250 天前
@gongquanlin 哥,独立开发,独立开发,不是团队开发
musi
250 天前
@gongquanlin #56 定义好数据结构你就一定能保证接口是对的了?那岂不是定义好数据结构就没有任何 bug 了?前端的 debug 你不跑在浏览器里面你咋知道渲染的对不对?还开发时
musi
250 天前
@gongquanlin 说了这么多我想问一下你用 ts 独立开发的产品维护了多久?有多少用户?期间经历了几次升级重构?
gongquanlin
250 天前
@musi #58 你这是纯刚了🤣

1.不论是独立开发还是团队开发,开发不定义数据结构?不对接口?好,前后端分离写,是不是得对接口,接口难道写一遍就完事,不关心字段吗,写 rpc 不关系字段吗?那接口咋写的;前后端不分离,不分离也得关心字段啊,难不成每次更新维护现去翻一遍代码?真要是这样那可能 js 确实更适合你

2.定义数据结构和没有 bug 有啥关系 ? bug 是业务逻辑出的错,字段结构定义好了不能保证不出 bug ,只能保证减少出 bug 的可能性,这点道理都不明白吗还要我教给你🤣

3.我也没说前端只有浏览器啊,bs ,cs 架构都是一样的道理啊。好,只考虑浏览器,devtools 是在浏览器里,你不定义数据结构,出了问题我问你咋调试?现翻一遍代码滤出来返回值的所有属性在调试吗,哈哈哈,还跟我争辩运行时呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1034071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX