
本文翻译自:
https://dev.to/alichraghi/why-i-hate-javascript-22pb
JavaScript已经风靡了很多年。它绝对是使用最广泛的编程语言。但于我而言这没有意义。因为我讨厌JavaScript,以下是我对JavaScript敬而远之的几个原因。
没有静态类型
是的,没有静态类型,大多数人认为这很好,因为可以随时更改变量类型。但我觉得很糟糕!原因在于:
降低运行时速度 降低初始化速度 编程容易出错 未知的数据大小,容易导致内存泄漏
当然,我并不是说动态类型不好,但就很奇怪:为什么JavaScript没有静态类型?
不合逻辑的比较
这个在JS中比较有名。

上图还不够说明问题吗?再看下面的例子
"3" - 3 → 0
"3" + 3 → 33
9999999999999999 == 10000000000000000 → true
0.1 + 0.2 === 0.3 → false // (this website explains https://0.30000000000000004.com )
1.0000000000000001 === 1 → true
typeof NaN == 'number' → true
NaN != NaN → true
默认全局变量
嗯……怎么会?为什么会发生这种情况?毫无头绪。
function my_func() {
x = 10;
}
my_func();
console.log(x) → 10
(当然,你可以用var
或let
解决这个问题)
大多数编程语言对全局变量都非常敏感。你甚至不能在rust中使用全局变量(可以使用static mut
,但需要始终将其用作不安全的变量)。
因为全局变量可以被代码的任何部分更改,这使得我们难以记住或推理每种可能的用途,再则我们不能将全局变量限制在代码的某些部分。
sort()函数
.sort()
函数是一种用于数组排序的方法。但不知道为什么它不喜欢数字数组。看下面的例子
[8, 19, 24, 1, 5].sort() → [1, 19, 24, 5, 8]
...
我已经解释了我讨厌JavaScript的理由,你同意吗?

每日分享前端插件干货,欢迎关注!
点赞和在看就是最大的支持❤️
文章转载自前端新世界,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




