第一浪 发表于 2023-10-4 06:53:15

如何评价JavaScript这门语言?

如何评价JavaScript这门语言?

wrj0619 发表于 2023-10-4 06:54:00

很多语言的槽点其实并非标准之争,比如Python的“空格缩进”,就看个人喜不喜欢。而JS有所不同,它的不少槽点是硬伤,比如“==”。
但这些槽点只能说是瑕疵纰漏,么有大碍。实际上,JS具备了另辟蹊径的对象方式,以及必要的FP特征(主要还是得益于函数是一等公民,以及callback、闭包的盛行)。这些都使得JS写起来很方便,很简洁。
说this会变来变去,这其实很正常,Ruby中的“self”也是要看context上下文,见得多了就没什么大惊小怪的,这属于“存在即合理”的范畴。
总之,在目前知乎盛行一股“Java优先”的风尚的情况下,连Python都被批得“七零八落”,那么同为动态语言的JS估计也有不少人要鄙视的,可能搬出TypeScript来也不济。

wushuhong 发表于 2023-10-4 06:54:19

刚用的时候觉得很垃圾,除了 php 以外,世界上最垃圾的语言也莫过于它,最近这两年感觉倒还行,es6 打上了不少补丁,eslint 做了限制之后倒也还好,特别是已经习惯了这种语法的情况下,再写 go 反倒会有些不习惯,lua 就会习惯的多,但是写着写着还是觉得 js 舒服,最起码 api 提供的比 lua 全,lua 实在太简洁了,但是这种不管好坏,什么 api 都给你准备好的设计也带来了很大的缺点,js 坑也坑在这里,对用得好的人来说它并不比其它语言差多少,但是对很多新手而言,js 就变成了一门掺杂着各种难以理解的设计的坑爹语言。
比如说现在最不满意的点就是 js 提供了太多带坑的语法(换句话说就没几个语法不坑),例如几个大坑 『var』、『!= & == 』、『函数提升』、『this』,这些对新手是极其不友好的,特别是在没什么计算机基础又没有接触过其它语言的情况下,往往一个坑还没爬出来就跳进了另一个坑(这也是很多前端项目代码质量低下的一个原因,语言过于灵活)。
但是对于老手更坑的地方在于,就算你工作中已经小心翼翼的避免了这些坑,依旧避免不了在找工作的时候总会碰到关于这几个坑的题目,这个时候你就面临着明明知道它是坨翔,但是又不得不吃下去的这种恶心感。

卡珊德拉 发表于 2023-10-4 06:54:58

语言特性来说是天生残疾,有很多设计上的缺陷,需要用第三方工具弥补。语法灵活和类型检查缺失的结果是容易写出垃圾代码。但是不妨碍它的广泛使用。希望能把业界已经在用的一些东西并入规范,不然永远要靠拐杖才能走路。

kevinnest 发表于 2023-10-4 06:55:21

一、语法
js的语法不是最开发友好的,但是一直朝着这个目标前进。
相比c like语言,作为脚本语言的js语法一定是十分灵活的。面向开发友好,其实就是语法糖多,合不同人口味,可以有各种编程风格。
要是说一流的语法,那我首推ruby。js一直在向ruby努力。
二、编程范式
js的oo设计是非常易于理解的。万物皆object与原型链可以说很好的模拟了oo范式。es6之后,通过语法糖看起来真正实现了部分oo特性。箭头函数也解决了大部分this需要调用bind/apply/call的乱象。其他的特性大多也在提案里,不过终归是语法糖。
fp其实js也在语法层面支持的相当好,甚至优于oo。毕竟函数是一等公民的语言,“纯”函数、curry、compose非常容易编写,相应的语法也相当完善。一些方法比如map也体现了声明式的思想。
js可能真的更偏向fp吧,尤其是在es6之前。
三、使用场景
这个勿需多言……
四、其他
feature很多,一部分是因为语法糖,一部分是因为语言设计。
所以差劲的地方确实有,以类型转换为甚,类型转换以==判断相等为甚。十二条法则滚瓜烂熟烂熟还是要试一下才动手,更不要说别人怎么看了。
喷js的后端同学真的很讨厌,口口声声说着玩具语言,就算你从Java转,看了文档之后还是写不出能跑的代码,更不要说优雅了。但是我从js去学ruby只看了半天书。
全栈与大前端的概念确实挺招人烦的。全栈这个概念我觉得不应该从语言上表示,而是应该通过解决问题的能力表现。不是说我写个表单能提交就是会写前端了,也不是说我写个静态文件服务器就是会写后端了。
大前端火过很长一段时间。从hybird开始,到weex/rn之类,一些人真的狂得不得了。但实际上无论是hybird还是做jsbridge,都不是为了代替移动端开发的。编译型语言决定了移动端开发不能进行热更新,而解释型脚本语言刚好可以弥补这个缺陷。总不能app发个活动就要拥护更新安装包。所以求求某些人不要吹大前端了……
<hr/>第一次回答专业知识的问题,才疏学浅,会的语言也不多,编译原理更是一塌糊涂,献丑了……暂时就写到这么多。以后变成大佬了再更新叭

lukeluk 发表于 2023-10-4 06:55:35

这怕是一道送命题,不管怎么答都可能会被怼。

接触过C、C++、C#、Java、JavaScript、PHP等语言,后来由于个人爱好选择了JavaScript。
至于生态、性能、语法、前景,让它们通通见鬼去吧。
爱好决定学哪门语言,工作决定用哪门语言。


js不是一门好语言,前端不是一项好工作,IT不是一个好行业。它可能会让你秃头、熬夜、单身,你们要慎入啊。
页: [1]
查看完整版本: 如何评价JavaScript这门语言?