In the previous example, we used the operator
===
for comparison. In this case, our
variable was compared for equality to true
both by value and by type.
For such a comparison, you can also use the
operator ==
. If the variable test
always has one of the values true
or
false
, then nothing will change:
let test = true; // here we write either true or false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
But if any values can fall into the variable
test
, then everything becomes much
more complicated.
In this case, if the variable test
contains a non-boolean value, then this value
will first be converted to a boolean and only
then will be compared.
Let, for example, the variable test
contain the number 1
. In this case,
it is first converted to a boolean type,
that is, to true
. And then the
comparison will be done:
let test = 1;
if (test == true) {
console.log('+++'); // it will work
} else {
console.log('---');
}
But, for example, the number 0
is
converted to false
. And our condition
will result in 'false'
:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // it will work
}
In fact, such a comparison can be explicitly rewritten in the following form:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Remember and write what values when cast
to a boolean type give false
.
Without running the code, determine what will be output to the console:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Without running the code, determine what will be output to the console:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Without running the code, determine what will be output to the console:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Without running the code, determine what will be output to the console:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Without running the code, determine what will be output to the console:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Without running the code, determine what will be output to the console:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Without running the code, determine what will be output to the console:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}