# JavaScript Programming/Conditions

This lesson introduces JavaScript conditions.

## Objectives and Skills

Objectives and skills for this lesson include:

• Evaluate expressions that use logical and comparison operators
• ==; !=; <, >; <=; >=; !; &&; ||
• Complete and debug decision statements
• if; else if; switch; nested if
• Complete and debug code that performs input validation
• Case; string comparisons; Not-A-Number (NaN)

## Activities

Complete the following activities using external JavaScript code. Apply JavaScript best practices, including comments, indentations, naming conventions, and constants. Use input elements for input and respond to input or change events or add buttons and respond to click events. Use HTML elements for output. Use separate functions for each type of processing. Avoid global variables by passing parameters and returning results. Create test data to validate the accuracy of each program. Add comments at the top of the program and include references to any resources used.

### If Conditions

1. Create a program to prompt the user for hours and rate per hour to compute gross pay (hours * rate). Include a calculation to give 1.5 times the hourly rate for any overtime (hours worked above 40 hours).
2. Create a program that asks the user how old they are in years. Then ask the user if they would like to know how old they are in (M)onths, (D)ays, (H)ours, or (S)econds. Use if/else conditional statements to display their approximate age in the selected timeframe. Do not perform any unnecessary calculations.
3. Review MathsIsFun: US Standard Lengths. Create a program that asks the user for a distance in miles, and then ask the user if they want the distance in US measurements (yards, feet, and inches) or in metric measurements (kilometers, meters, and centimeters). Use if/else conditional statements to determine their selection and then calculate and display the results.
4. Review MathsIsFun: Area of Plane Shapes. Create a program that asks the user what shape they would like to calculate the area for. Use if/else conditional statements to determine their selection and then gather the appropriate input and calculate and display the area of the shape.
5. Create a program that helps the user determine what sock size to order based on their shoe size:
< 4 = extra small
4 to 6 = small
7 to 9 = medium
10 to 12 = large
13+ = extra large
Use if/else conditional statements to determine their selection and then display the results. Round half-sizes up to the next whole size. One option for rounding is to add 0.5 and then convert to an integer.

### Switch Conditions

1. Create a program that asks the user how old they are in years. Then ask the user if they would like to know how old they are in (M)onths, (D)ays, (H)ours, or (S)econds. Use switch conditional statements to display their approximate age in the selected timeframe. Do not perform any unnecessary calculations.
2. Review MathsIsFun: Area of Plane Shapes. Create a program that asks the user what shape they would like to calculate the area for. Use switch conditional statements to determine their selection and then gather the appropriate input and calculate and display the area of the shape.
3. Create a program that helps the user determine what sock size to order based on their shoe size:
< 4 = extra small
4 to 6 = small
7 to 9 = medium
10 to 12 = large
13+ = extra large
Use switch conditional statements to determine their selection and then display the results. Round half-sizes up to the next whole size. One option for rounding is to add 0.5 and then convert to an integer.

### Input Validation

1. Review Wikipedia: Is functions. Update one or more of the programs above to include input validation for all numeric input.
2. Extend one or more of the programs above by adding structured exception handling statements (try-catch) to handle any runtime errors caused by the user entering invalid values for the input.

## Lesson Summary

• Conditional statements are used to perform different actions based on different decisions.
• The if statement is to specify a block of code to be executed, if a specified condition is true.
• The else statement is to specify a block of code to be executed, if the same condition is false.
• the else if statement is to specify a new condition to test, if the first condition is false.
• The switch statement is used to perform different actions based on different conditions.
• Switch cases use strict comparison (===). The values must be of the same type to match.
• Switch statements are better to use over If/Else statements when you are aware of the exact data that can be input.[source?]
• Break keyword is used to break down from the switch block. Once the match is found, and the associated code block is executed, the following cases are not being tested against the condition.
• The switch statement may have an optional default case. It specifies the block of code that runs if there is no case match.
• Conditional statements can be inside of other conditional statements, and can have multiple conditions to test.
• When writing conditions based on equality, "==" is used rather than "=", which is the assignment operator.[source?]

## Key Terms

boolean
The boolean data type has one of two possible values (TRUE or FALSE) which is intended to represent the two truth values.
break
Keyword that breaks out of the switch block. This will stop the execution of inside the block.
comparison operators
Comparison operators are used in logical statements to determine equality or difference between variables or values.
conditional statement
It is a condition that has to be fulfilled (true) to perform an action.
default
Keyword that specifies the code to run if there is no case match.
"else" statement
The else statement is to specify a block of code to be executed if the same condition is false.
"else if" statement
The else if statement specifies a new condition if the first condition is not met.
"if" statement
The if statement executes a statement if a specified condition is true. If the condition is false, the code within the If statement is ignored, and the code immediately after will run.
logical operators
Logical operators are used to determine the logic between variables or values.
nested if statement
An if statement inside another if statement (multiple if statements).
switch
Used to select one of many code blocks to be executed based on evaluation of a single expression.