title: “LOGICAL-EXPRESSION” author: “laplante@plcb.ca” date: 2023-04-21 version: “1.0.0” section: “1g”
LOGICAL-EXPRESSION — Boolean evaluation and comparisons
A logical expression evaluates to a boolean result: true
or false
.
Logical expressions can be used:
true
or false
.if
, else if
).int
is compared to a string
, goweb attempts to convert the string to an integer.0
.null
is considered equal to an empty string, making it easier to test for missing values.re/.../
, only valid with strings)You can also compare arrays and maps for equality (==
) or inequality (!=
).
Strict equality (===
) and inequality (!==
) check both value and type.
Example:
"5" !== 5 // true, because one is a string and the other is an integer
logical_expr: expression > expression |
expression >= expression |
expression < expression |
expression <= expression |
expression == expression |
expression != expression |
expression === expression |
expression !== expression |
expression && expression |
expression || expression |
! expression
res = {{
1 < 2;
2 > 1;
1 <= 1;
1 >= 1;
1 == 1;
3 < 2;
0 > 1;
3 <= 1;
0 >= 1;
0 == 1;
}};
// Result:
res = truetruetruetruetruefalsefalsefalsefalsefalse
res = {{
1 == 1;
1.0 == 1.0;
"1.0" == "1.0";
null == true;
null == false;
6 == null;
6.1 == null;
"6.1" == null;
false == null;
true == null;
true == true;
false == false;
}};
// Result:
res = truetruetruefalsefalsefalsefalsefalsefalsefalsetruetrue
res = {{
1 != 1;
1.0 != 1.0;
"1.0" != "1.0";
null != true;
null != false;
6 != null;
6.1 != null;
"6.1" != null;
false != null;
true != null;
true != true;
false != false;
}};
// Result:
res = falsefalsefalsetruetruetruetruetruetruetruefalsefalse
res = {{
1 <= 1;
1.0 <= 1.0;
"1.0" <= "1.0";
1 <= 5;
1.0 <= 5.0;
"1.0" <= "5.0";
5 <= 1;
5.0 <= 1.0;
"5.0" <= "1.0";
}};
// Result:
res = truetruetruetruetruetruefalsefalsefalse
res = {{
1 < 1;
1.0 < 1.0;
"1.0" < "1.0";
1 < 5;
1.0 < 5.0;
"1.0" < "5.0";
5 < 1;
5.0 < 1.0;
"5.0" < "1.0";
}};
// Result:
res = falsefalsefalsetruetruetruefalsefalsefalse
res = {{
1 >= 1;
1.0 >= 1.0;
"1.0" >= "1.0";
1 >= 5;
1.0 >= 5.0;
"1.0" >= "5.0";
5 >= 1;
5.0 >= 1.0;
"5.0" >= "1.0";
}};
// Result:
res = truetruetruefalsefalsefalsetruetruetrue
res = {{
1 > 1;
1.0 > 1.0;
"1.0" > "1.0";
1 > 5;
1.0 > 5.0;
"1.0" > "5.0";
5 > 1;
5.0 > 1.0;
"5.0" > "1.0";
}};
// Result:
res = falsefalsefalsefalsefalsefalsetruetruetrue