我正在尝试与
if
中的布尔值进行比较。
我想做这样的事情:
value1 = false;
value2 = true;
if (value1 === value2) {
... Some code ...
}
在 Java 中你可以使用
Boolean.compare(boolean a, boolean b)
,但是 我在 TypeScript 中找不到相同的东西。Boolean.compare(boolean a, boolean b)
返回:
a
等于 b
,a
为假且
b
为真,则为负值,
a
为 true 并且
b
为 false,则为正值。
谢谢你的帮助
编辑:显示我收到的消息
此条件将始终返回“false”,因为类型“true”和“false”没有重叠
Javascript 没有可与 Java 的
Boolean.compare()
相媲美的内置函数。事实上,布尔类除了构造函数、toString()
和valueOf()
之外几乎什么都没有。
Number
构造函数。
function booleanCompare(a: boolean, b: boolean) {
return Number(a) - Number(b);
}
这可用于实现所有可能的结果:
const Result = {
first: 0, // A: 0, B 0
second: 1, // A: 1, B 0
third: -1, // A: 0, B 1
forth: 2, // A: 1, B 1
get: (A: boolean, B: boolean) => (Number(A) - Number(B))
}
const f = () => {
const A = true;
const B = true;
switch(Result.get(A, B)) {
case Result.first:
// To something
break;
case Result.second:
// To something
break;
case Result.third:
// To something
break;
case Result.forth:
// To something
}
}