原生js或者是es中让人厌恶的一些地方
js总体来说,是个不错的语言,最大的好处的是简单。
但这个基于es6的一些js也有一些非常怪异的写法,这是非常令人憎恶的地方。
c++总体上也算不错,但为什么不是很受欢迎,因为它把自己搞得太复杂了,复杂到已经不太适合编写过于大型的系统。
当我们看到这些复杂的语法的时候,难免有点癫狂。
我们必须推崇简单而规范的语法,这非常有利于开发和维护,一些奇奇怪怪的语法,对于一些非常精通的人而言,并不算是个问题。
但这些语法的存在,复杂化了编译器,也弄糊涂了维护人员的脑子。
所以,我常常告诫我的同事们:当能够用简单通用方式写代码的时候,千万不要过分炫技,这些炫技对于工程维护并没有什么特别的好处,除了
好像看起来起来更加简洁。但除了更加简洁,并没有其它的特别好处, 更快?还是更好理解维护?更容易学习?
说穿了,这些复杂的语法更多时候,只是一个障眼法,一个语法糖!
所以,我只喜欢类似pascal,TypeScript之类的语言!
c++在于它把自己搞得太复杂了,js的问题则在于把自己搞得太随意。
我个人认为,如果使用js编写大量的代码,则应该舍弃其中随意的地方,而保留其严谨整齐的方面,否则调试和查找问题是够呛的!
废话少说,现在列出鄙人认为js令人厌恶的地方。
一、数据类型
- 无法规定类型
- 可以随意转换
所以,在某些情况下,可能会是一个巨大的隐患。此外某些情况下也不是很利于阅读。
为了便于阅读,我们有时候在定义变量的时候,需要使用固定的前缀来表示类型,例如sName,iQty.
不过这个好像有ts来解决了。
二、内部模型
前端代码越写越复杂,所以浏览器的内存模型也只好越做越复杂,这一些都是为了性能考虑。
不过这种复杂性也是可以容忍的,某些情况下!
三、奇怪的简写
如果我们总之使用规范严谨的写法,那么很多时候程序的维护和升级就不需要那么复杂,大家也可以节约更多的时间用于其它方面:
理解业务,编写更加精美的函数,复杂的算法。
通过简写是否可以节约时间了?可以,不过仅仅是纯粹打特定篇幅字的时间!
四、没有包或者作用域
这个对于习惯后端的而言,觉得还是很难受的!
从长远来看,js一定会发展为类似后端的语言,毕竟我们是为了做工程,不是为了逗乐子,或者用棍子大大路边的杂草,严谨一点还是好更好的!