javascript - 本地比较失败的单元测试

标签 javascript dojo

不知道为什么 dojo 会失败

doh.t(formatedValue.localeCompare("16,91 $CA") === 0, "incorrect french formatting")

formattedValue 肯定是“16,91 $CA”,所以我知道这是一个匹配。但是当我尝试在语法中添加 === 0 时,我得到“二元运算参数不可分配给 bool 类型”

我不明白,这不是在做什么,当我执行 formatedValue.localeCompare("56,96 $CA") === 0 时评估为 true/false?

最佳答案

localeCompare 专为字符串比较而设计,而不是相等测试。通过比较,我的意思是测试一个字符串是否大于或小于另一个字符串,这对于排序很有用。由于您不想对字符串进行排序,因此测试相等性可能更简单:

doh.t(formatedValue === "16,91 $CA", "incorrect french formatting");

或者更好:

doh.is(formatedValue, "16,91 $CA", "incorrect french formatting");

关于javascript - 本地比较失败的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16830025/

相关文章:

dojo - 错误: Tried to register widget with id==grid1but that id is already registered

javascript - 如何在此 PHP 页面中用简单的 HTML 选择替换此价格 slider ?选择选项可以传递 2 个值(最低价格和最高价格)吗?

javascript - 当 html 元素具有相同的 id 名称时,如何检查未声明的变量?

java - 如何将 dojox.charting.Chart 转换为 PNG 图像以供用户导出?

ruby-on-rails - Dojo + Rails 3.2.8 + CoffeeScript

javascript - Dojo 如何捕获用户对 Dojo.FilteringSelect 的 onkeyup 事件输入

javascript - 使用 Javascript 更改具有所述类的所有元素的 css 类

javascript - 向左/向右滑动div onclick

javascript - 如何用 div 和 Javascript 替换 iframe?

javascript - useEffect 在 react v18 中被调用两次