Javascript 为什么不增加静态类型呢?

2022-03-08 01:35:21 +08:00
 3dwelcome
https://2021.stateofjs.com/

这网站对 JS 生态做了一个调查,由 1 万多个人,统计出来最大的遗憾,就是 JS 缺乏静态类型。

今日不比往年,技术飞速发展,使得 JS 最终是以 JIT 实时转义后的静态类型语言,运行在 CHROME 浏览器上的。

有 JIT 加持后,要给 JS 加个类型,对于 google 并不是很难的事情,可一直没人去推动。(我不想用 TS 啊,就想用原生 JS 那个熟悉的味道。)

2752 次点击
所在节点    前端开发
30 条回复
wanguorui123
2022-03-08 12:29:19 +08:00
有了静态类型就不是 JS 了,没有静态类型也是 JS 优势,JS 更灵活快速
3dwelcome
2022-03-08 12:33:02 +08:00
@wanguorui123 我一直觉得软件核心是算法,不是拼大量字符串。
动态类型拼字符串可以,写点算法就很是痛苦。
wanguorui123
2022-03-08 13:20:14 +08:00
@3dwelcome 没有静态类型也能写出不错的代码,只是需要开发者的代码约束能力比较强
enchilada2020
2022-03-08 16:25:31 +08:00
@wanguorui123 有没有好的例子
enchilada2020
2022-03-08 16:25:48 +08:00
@wanguorui123 代码约束能力这块
EPr2hh6LADQWqRVH
2022-03-08 16:34:01 +08:00
动态是优势不是缺陷,ts 的类型系统更灵活。

纯静态语言不可能拥有像 ts 这样灵活性。

纯静态才是缺陷。


打个比方,一般来讲四只脚的动物跑得都比两只脚的快,
你现在出来责问,为什么长短跑运动员不使用四肢参赛,而只使用下肢

因为上肢拿去提供更高阶的东西了好吧,就算手脚并用能跑得更快,人也不会放弃那些高阶特性手脚并用的
3dwelcome
2022-03-08 17:04:03 +08:00
@avastms 从统计学上来说,这网站上至少参加 JS 投票的一大半人,都觉得静态类型是一个缺陷。

你可以不用静态类型,但是不能没有。

如果 CPP 新规范里只允许 auto 动态类型存在,不允许 int 或者 double ,那早就闹翻天了。
dsrkafuu
2022-03-09 01:24:18 +08:00
我喜欢用 TS 写代码,我后面自己维护也舒服得多
但我喜欢 JS 这门语言,不喜欢 TS 这个超集 /语言,可玩性太强了
yyfearth
2022-03-09 02:54:28 +08:00
@3dwelcome wasm 目前设计的目的是可以直接把现有的软件编译到浏览器里面运行 而且主要就是算法部分
或者借助 wasm 把 js 里面有性能瓶颈的部分 更加高效的执行
另外 wasm 和 js 可以无缝集成 这样 wasm 就可以借助 js 来操作 dom js 也可以借助 wasm 来提升核心算法的效率
amlee
2022-03-14 11:43:54 +08:00

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

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

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

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

© 2021 V2EX