js在1995年由Netscape公司的Brendan Eich在Netscape浏览器上首次设计实现而成,大家可能会觉得js在语言层面上有很多问题,但是在1995年更早的年代,能设计浏览器的公司有几个?预计到浏览器需要一个语言引擎来支持动态绘制的人全世界有几个?能实现这件事的公司有几个?能把js推广成工业标准的有几个?所以,决定一门语言是否能够有生命力的是什么呢?第一就是它是否回应了产业的真实需求,其次是足够早,第三是公司是否在产业界处于一个有利的推广的位置上,至于语法、性能什么的,那都是次要的、可以后期不断改进的,地青用语法来说评论某个语言的优劣,完全是没弄明白状况。。。
【 在 eGust 的大作中提到: 】
: 的确 js 有很多设计不合理的地方,还有 {} + []、[] + {} 之类难以预期结果的表达式,但实际使用中会有正常人写出 {} + [] 这种代码,而且还能过 review 么?
: 很多人一提 js 心理上马上就否定它了,说什么飘忽不定的 this、奇葩的类模型之类。说实话,prototype 模型一点都不复杂,this 也只不过跟 arguments 一样是个 context 变量。跟 == 运算符7、8条运算规则不同(es5 增加 === 运算符),都是稍微动点脑子不难掌握的语法。但是否定的心态导致认为问题的源头是语言本身,而不去动脑子,反正对我来说 this 根本就不是坑。
: 另外我不否认 es2015 之前很难用,之后引入 async/await 等解决 callback hell 之类问题后,上一套主流 eslint 规则或者直接 ts 其实可以很好用。js 已经立于不败之地了,会跟 c 一样天长地久。所以我的本意其实是,与其浪费时间吐槽各种根本没人会写的烂代码,不如稍微花点儿时间研究一下怎么写好 js。
: ...................
--
修改:siegfried415 FROM 60.16.245.*
FROM 60.16.245.*