Conditional let us determine when
we do what
Using conditionals allows us to protect code from executing until the proper conditions are met.
Think of conditionals a way of putting a wall around a walled city. Your city has a gate, but you hold the power to open that gate from the right people.
Let's look at an example:
var age = 18
if (age < 21) {
console.log('Sorry kid, I can't serve you')
}
In this example, we are comparing two numbers, if age
is less than (<
) 21 we execute the console.log
within the brackets. In the age the expression age < 21
evaluates
to true, so we execute the console.log.
This brings us to our next concept.
In JavaScript we a boolean
data types that are explicitly true
or false
, but JavaScript assigns everything a truthy
or falsy
value. In if
blocks and ternaries
we can use truthy
and falsy
values as conditions
Let's go over some common truthy
and falsy
values in JavaScript.
[]
- empty arrays{}
- empty objects
''
- empty stringsnull
undefined
0
NaN
Let's look at our expample from before with some minor changes.
var age = 22
if (age < 21) {
console.log('Sorry kid, I can't serve you')
}
In this example our initial condition isn't met, let's add an else if
block to handle this condition.
var age = 22
if (age < 21) {
console.log('Sorry kid, I can't serve you')
} else if (age > 22) {
serveDrink()
}
In general, type coercion is one of those handle with extreme caution
sort of things that JavaScript lets you do. There are two types of cercion
Did you know that there's a nifty feature in JavaScript that allows you coerce any value into a boolean. It's super handy and it's called the double bang
or !!
Let's look at an example.
var
if (!! ) {
}