A value that's either true or false.
Boolean values help to make decisions in code. They appear any time a logical condition is checked. For example, the condition "Is a mouse button being pressed?" must be either true or false:
// If the user presses the mouse, draw a circle at
// the mouse's location.
if (mouseIsPressed === true) {
circle(mouseX, mouseY, 20);
}
The if statement checks whether mouseIsPressed is true and draws a circle if it is. Boolean expressions such as mouseIsPressed === true evaluate to one of the two possible Boolean values: true or false.
The === operator (EQUAL) checks whether two values are equal. If they are, the expression evaluates to true. Otherwise, it evaluates to false.
Note: There's also a == operator with two = instead of three. Don't use it.
The mouseIsPressed system variable is always true or false, so the code snippet above could also be written as follows:
if (mouseIsPressed) {
circle(mouseX, mouseY, 20);
}
The !== operator (NOT EQUAL) checks whether two values are not equal, as in the following example:
if (2 + 2 !== 4) {
text('War is peace.', 50, 50);
}
Starting from the left, the arithmetic expression 2 + 2 produces the value 4. The Boolean expression 4 !== 4 evaluates to false because 4 is equal to itself. As a result, the if statement's body is skipped.
Note: There's also a != operator with one = instead of two. Don't use it.
The Boolean operator && (AND) checks whether two expressions are both true:
if (keyIsPressed === true && key === 'p') {
text('You pressed the "p" key!', 50, 50);
}
If the user is pressing a key AND that key is 'p', then a message will display.
The Boolean operator || (OR) checks whether at least one of two expressions is true:
if (keyIsPressed === true || mouseIsPressed === true) {
text('You did something!', 50, 50);
}
If the user presses a key, or presses a mouse button, or both, then a message will display.
The following truth table summarizes a few common scenarios with && and ||:
true && true // true
true && false // false
false && false // false
true || true // true
true || false // true
false || false // false
The relational operators >, << code="">, >=, and <=< code=""> also produce Boolean
values:
2 > 1 // true
2 < 1 // false
2 >= 2 // true
2 <= 2="" true="" <="" code=""/>See if for more information about if statements and Number for more information about Numbers.