【发布时间】:2016-02-24 19:20:21
【问题描述】:
这是一个非常基本的问题,我知道,但我无法理解 Google 和 Stack Overflow 发生了什么。
我查看了 here 和 here 来学习如何在 JavaScript 中比较字符串。在他们的回答中都没有提到三等号(===),并表示最好使用自己的函数(str1 < str2 ? -1 : str1 > str2)。
但是,通过 Stack Overflow 中关于 === 的解释(here 和 here),答案包含字符串比较。
从我在这些答案中看到的,=== 确实适用于字符串比较,那么为什么它没有包含在字符串比较答案中?
我只是想扩展我在 JavaScript 方面的知识。
感谢您的任何见解!
【问题讨论】:
-
是的,
===可以比较两个字符串,结果是true或false。您看到的其他示例是在对字符串进行排序列表时比较字符串。 -
你是对的。谢谢!
-
在比较你知道的字符串时,我认为使用
===而不是==没有任何优势。===通常用于比较多种类型的事物。 IE。'0' !== 0。我认为==也更快,但我懒得找你的基准来支持它。 -
只有在值的数据类型很重要时才应该使用 ===,这意味着当它可能导致不良行为时。就像某些东西需要 0 来计算但得到一个 false 或字符串“0”,这可能导致计算不准确或字符串值可能会阻塞进程。如今,三等号在 JavaScript 中被滥用,我不得不修复提交代码中的多个错误,以便在不必要并导致问题时将 === 更改为 ==(这意味着数据类型无关紧要)只是检查 '0' 与 0 的数据类型导致进程阻塞)。
标签: javascript string comparison triple-equals