Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Part 4.1Conditions in JavaScript

Part 4.1Conditions in JavaScript

Most programming languages feature conditions within them. JavaScript is no exception here.

What a condition is

A condition is a rule which must be met. For instance, a computer may only be switched on if the power switch is on at the wall. This is a simple condition.

Conditions play a huge part in programs as they very often dictate which way a program will run. They can create jumps between sections of code. This section of this tutorial will show several ways to control the flow of a JavaScript application using conditions.

Conditions in JavaScript

In JavaScript a condition is typed as a boolean type. The simplest conditions are true and false, but more complex conditions also return these as results.

There are several operators that can be used:

Symbol Name Returns true when
< Less than a is less than b.
> Greater than a is greater than b.
<= Less than or equal to a is less than or equal to b.
>= Greater than or equal to a is greater than or equal to b.
== Equal to a is equal to b.
!= Not equal to a is not equal to b.
=== Identical a and b are the same and are the same type.
!== Not identical a and b are not the same or are not the same type.

These operators are easy to use:

JavaScript
var x = 5;
var y = 7;
var z = 0;

z = x < y;
alert(z);
z = x > y;
alert(z);
z = x <= y;
alert(z);
z = x >= y;
alert(z);
z = x == y;
alert(z);
z = x != y;
alert(z);
z = x === y;
alert(z);
z = x !== y;
alert(z);

Propositional logic which programming languages such as JavaScript use can also join multiple conditions through logical conjunction and logical disjunction. These are better known as AND and OR.

AND and OR are based on AND gates and OR gates in computer hardware.

AND

AND requires that two conditions are true to return true.

The following is a truth table for AND:

P Q P AND Q
true true true
true false false
false true false
false false false

In JavaScript the AND symbol is &&. The following is an example using AND in a condition:

JavaScript
var r = false;
p = true;
q = false;
r = true;

result = p && q;
alert(result);
result = p && r;
alert(result);

OR

OR requires that one of the two conditions is true to return true.

The following is the truth table for OR:

P Q P OR Q
true true true
true false true
false true true
false false false

In JavaScript the OR symbol is ||. The following is an example using OR in a condition:

JavaScript
var r = false;
p = false;
q = false;
r = true;

result = p || q;
alert(result);
result = p || r;
alert(result);

Negation

The final type of logical operator is the NOT operator. The truth table following shows how NOT performs.

P NOT P
true false
false true

In JavaScript, NOT is represented with the ! operator. Putting a NOT operator in front of a boolean value will invert it. The following is a condition that uses the NOT operator to flip the value of a boolean value:

JavaScript
var x = false;
var y = true;
alert(!x);
alert(!y);

De Morgan's Law

A key law in logic is De Morgan's Law. This law shows:

  • the negation of a conjunction is the disjunction of the negations;
  • the negation of a disjunction is the conjunction of the negations;

Less formally:

  • !(A && B) == !A || !B
  • !(A || B) == !A && !B

The truth table for !(A && B) and !A || !B is as follows:

A B A && B !(A && B) !A || !B
true true true false false
true false false true true
false true false true true
false false false true true

Now in JavaScript:

JavaScript
var A = true;
var B = false;
alert(!(A && B));
alert(!A || !B);

Now the truth table for !(A || B) and !A && !B is as follows:

A B A || B !(A || B) !A && !B
true true true false false
true false true false false
false true true false false
false false false true true

Now in JavaScript:

JavaScript
var A = true;
var B = false;
alert(!(A || B));
alert(!A && !B);
Feedback 👍
Comments are sent via email to me.