Tri*_*eos 44 javascript undefined
我只是有一个小问题.
为什么undefined == undefined返回true,但是undefined >= undefined是false?
undefined等于undefined.
但它不等于或更大?
undefined === undefined || undefined > undefined并且undefined >= undefined,"大于或等于"的OR与该OR不同||.
就其而言,像>, <, >=数字这样的比较运算符是指数字而undefined不是数字,undefined是未定义的.
您期望什么作为返回值10 >= "Hello World"?当然,一个假的,但再次10 >= "10"返回true,因为10 == "10"是真实的,10 === "10"是假的."10"可以转换为数字,因此我们可以看到在实际数字的情况下返回的结果,而不是带数字的字符串.
没有全等运算符版本>=,而不是!=它是!==
当您尝试比较一些很奇怪和困惑的事情发生null,undefined,NaN这是值得的JavaScript的规范可能能够回答并因为JavaScript是一种非常松散类型的语言和类型是非常灵活的,这就是为什么一个可以比较- 10与"10"和仍然得到你在大多数其他语言中比较两个整数时可能得到的结果.
问题和讨论比直接投票更受欢迎.谢谢.
不等运算符(<、>等)不能用于比较无法隐式转换为数字的值。这包括undefined。你所看到的背后的原因是,与其他语言不同,如果你尝试做这样的事情(即TypeError在 python 中),其他语言会抛出错误,JS 允许你这样做。然而,结果总是错误的。