有没有人跟我一样偏好原生 JS 写项目,而不是 TS

2023-05-01 21:55:43 +08:00
 humbass

刚才看到 https://juejin.cn/post/7218117377052377143 , 深有同感。

本人做项目外包,给客户的代码常规都使用js实现,极少需要给客户直接使用的类库才使用 ts(也因为万恶的 vscode 给自家的语言做了代码提示优化)。在我看来ES 5/6/7才是原滋原味的 js ,而不是披着 js 外衣的 C#。

4256 次点击
所在节点    程序员
38 条回复
hsfzxjy
2023-05-01 22:04:54 +08:00
但是 ts 的代码提示真的很爽
codehz
2023-05-01 22:18:57 +08:00
这篇钓鱼文还真有人翻译也是笑死(
看看原文发布时间
kkocdko
2023-05-01 22:19:42 +08:00
0. 由于“TypeScript 是 JavaScript 的超集”,所以不存在“完全放弃原生 JS”的说法。没有人会阻止你写 AnyScript 。我平时写的时候,就只会在发现类型提示不见了之后才主动补充一下定义。
1. TypeScript 不太可能消亡,因为现有的针对 JavaScript 的智能提示大多是基于 tsserver ,这是强大的 TypeScript 给我们的恩赐。
2. 针对编译速度问题,可以使用 ESBuild ,SWC 等方案,由于它们只做类型擦除等原因,速度很快。我这里有一个中小规模的前端项目,编译时间几乎可以忽略( esbuild 0.3s )。
3. 使用 JSDoc 替代 TypeScript 在大多数时候可行,但是你想想,是写 `/** @param Type name */ function foo(name)` 方便,还是写 `function foo(name: Type)` 方便呢?我觉得只要你不写出类型体操,TypeScript 没有什么不好的地方。类型体操是库作者应该纠结的事。
tulongtou
2023-05-01 22:21:37 +08:00
预计楼下开始打嘴仗
crysislinux
2023-05-01 22:28:04 +08:00
外包你不好写的时候就写 any script 好了。现在的 jsdoc 实际上大部分时候已经是靠 typescript 工作了。原本的 jsdoc 语法有很大的局限性。
lisongeee
2023-05-01 22:39:38 +08:00
如果这个提案 <https://github.com/tc39/proposal-type-annotations> 进入 stage 4 ,你又准备写哪个版本的 js 呢?
pursuer
2023-05-01 22:41:44 +08:00
我更习惯写 typescript ,找库的话也是 typescript 优先,不然看代码有点痛苦
lujiaosama
2023-05-01 22:54:33 +08:00
ts 写熟练了根本没啥心智负担, 就当成简单的类型提示来用, 又不是成天搞类型体操. 视 ts 如洪水猛兽的真的难以理解, ts 带来的健壮性给人一种安全感, 我相信也没多少人写原生 JS 会加上 use strict. ts 带来的好处小项目是体现不出来的, 在上了规模项目, 多人协作时就非常关键了,需求频繁变动,破坏性改动时 ts 带来的好处不言而喻.
要吐槽的是 ts 的类型收窄, 还是不够智能时常得断言. 以前合法的现在不合法了, 打开项目一片红. 如果是第三方库的报错就更头疼了.
renmu
2023-05-01 22:56:01 +08:00
我喜欢别人项目是 ts 写的,而我用 js (狗头)
bojackhorseman
2023-05-01 22:56:31 +08:00
i love ts.再小的项目我也要上 ts ,为的就是让它给我自动提示🤣
janus77
2023-05-01 22:58:55 +08:00
ts 那些丰富的特性本来就是因为大型和超大型项目的复杂度才诞生的,你写个 demo 纠结什么啊,拿自己长处抨击别人短处是不是有点离谱了
huijiewei
2023-05-01 23:02:33 +08:00
我写 hello world 也用 js

一切抽象在 hello world 面前都是 x
dayeye2006199
2023-05-01 23:11:40 +08:00
如你所说,因为你一个人写外包。你要是包工头,可能就想着 ts 了
Imindzzz
2023-05-02 00:02:28 +08:00
https://www.v2ex.com/t/792205

看看我这个帖子?大家都挺认真讨论的,没有阴阳怪气。欢迎你补充讨论
opentrade
2023-05-02 00:03:44 +08:00
自己一个人写着写着就到处是 any
humbass
2023-05-02 00:15:37 +08:00
@dayeye2006199 我刚好就是包工头,多的时候有招了 12 个同事,目前经济不好只有 3 个同事。顺便说一句,隔壁写 ts 的和写 java 的外包都倒闭了,原来我们这个孵化器有 9 个外包公司。
cosmain
2023-05-02 00:57:39 +08:00

这个英文原文的时间是 2023 年 5 月 20 日?
cosmain
2023-05-02 00:58:03 +08:00
我错了,是 3 月 20 日
enchilada2020
2023-05-02 00:59:42 +08:00
@cosmain 有没有一种可能 Mar 是三月的缩写😅
enchilada2020
2023-05-02 01:00:11 +08:00
@cosmain 我错了 回复时没刷新内容(

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

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

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

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

© 2021 V2EX