• JavaScript 比 C 有更重的心智负担, Jser 们别卷框架了,卷点语言吧
  • 发布于 1周前
  • 60 热度
    9 评论
语言要尽量贴近自然规则,规则定义越少越好。js 规则多,有些还毫无必要。用0表示1月这都什么规则啊,还有{}规则。
用户评论
  • APAC
  • c 简单?刚让我想起来了 你先去熟悉起编译器选项来 -W 开头的 -f 开头的 用 c 差不多是石器时代
  • 2024/9/11 11:52:00 [ 0 ] [ 0 ] 回复
  • 李明发
  • “python 等动态语言也没这么奇怪的逻辑或认”
    此言差矣。

    以下是 python ,不支持你的观点。
    result = 'a' or 'b'
    print(result)
    # result is 'a'
    以下是 lua ,不支持你的观点。
    local result = 'a' or 'b'
    print(result)
    result is 'a'

  • 2024/9/11 11:43:00 [ 0 ] [ 0 ] 回复
  • 张蜚
  • c 语言 你去做个小项目 体验体验每个函数都要检查返回值 学学怎么写 makefile 虽然 go 也这样 但比 C 开发不知快了多少
  • 2024/9/11 9:24:00 [ 0 ] [ 0 ] 回复
  • 牵线木偶
  • 初学 JS 的心智负担在于 JS 作为一个 30 来年的语言,而且为了兼容各种浏览器的,几十年前老的写法用法依旧还保留着,而且很多写法你还不能不学,因为很多写法很多人都在用。然后几十年积累下来各种奇奇怪怪的写法,用法,功能,还有各种奇奇怪怪的符号能让初学的人学到头炸。|,||,??=, ??, !! 等等等等奇奇怪怪的符号。

    就一个异步函数,从古早的 callback 到后来的 Generator ,Promise ,再到终于初具人形的 async/await ,你终于以为可以一把 async/await 走天下了,结果是前面几种也全都要学和写,因为这几样东西现在依旧各自有非常多的使用场景。更重要的是有的人就是特别喜欢捣鼓 Promise 而有的人就是不想碰 Promise 只喜欢 async/await ,你必须都要会。

    再比开 strict 模式之前之后,js 行为简直就是两个语言。我至今还记得如果不开 strict 模式,就一个 this 的特性,都能让人眼前一黑,var 的的全局提升特性(谢天谢地现在终于用 var 的人少了,但各种小脚本或者内嵌 js 引擎里依旧 var 满天飞,你依旧必须学 var 这东西和里面坑)。

    再比如习惯了类继承概念的人接触用 prototype 实现继承的时候,一定也是学得非常难受。当然现在我已经 class extends 一把梭走天下了,prototype 让我碰那是不可能的。

    再比一个风格问题,箭头函数这东西的确是个好东西,但作为一个常年后端的人,看到别人经常满天飞的箭头函数依旧要扶额。普通定义一个函数都要 const foo = () =>{ } 这种写法,我虽然知道前端很喜欢这么干,但依旧觉得大受到震撼。再还有 Array.sort() 会把数组所有成员转换成字符串然后才做排序导致第一次用的人 100%中招出 bug 啊之类的都算小问题了。
  • 2024/9/11 9:19:00 [ 0 ] [ 0 ] 回复
  • 樱桃没了丸子
  • JS 语言本身 JSer 又不是 TC39 ,人微言轻的怎么卷得动。你可以考虑直接上 deno 、bun 跑 TS 。不过有一说一,最近写了一段时间 Python ,我倒是感觉 JS 比 Python 还是相对舒服一点。至于 0 表示 1 月,这个从 Java 时代古而有之,JSer 一般都直接 npm install dayjs ,谁跟你用原生 Date~~
  • 2024/9/11 9:03:00 [ 0 ] [ 0 ] 回复