console.log("Hello B322!"); // [SECTION] if, else if and else Statement let numG = -1; // if statement // executes a statement if a specified condition is true if(numG < 0) { console.log('Hello'); } /* Syntax if(condition){ statement } */ // The result of the expression added in the if's condition must result to true, else, the statement inside if() will not run. // You can also check the condition. The expression results to a boolean true because of the use of the less than operator. console.log(numG < 0); // results to true and so, the if statement was run. numG = 0 if(numG < 0){ console.log('Hello again if numA is 0!') }; // It will not run because the expression now results to false: console.log(numG < 0); // Another sample let city = "New York" if(city === "New York"){ console.log("Welcome to New York City!"); } // else if Clause /* -Executes a statement if previous conditions are false and if the specified condition is true - The "else if" clause is optional and can be added to capture additional conditions to change the flow of a program. */ let numH = 1; if(numG < 0) { console.log('Hello'); } else if (numH > 0) { console.log('Hello from the other side'); } // We were able to run the else if() statement after we evaluated that the if condition was failed. // If the if() condition was passed and run, we will no longer evaluate to else if() and end the process there. let numA = -1 if(numA > 0) { console.log('Hello'); } else if (numH > 0) { console.log('World'); } //else if() statement was no longer run because the if statement was able to run, the evaluation of the whole statement stops there. // Let's update the city variable and look at another example: city = "Tokyo" if(city === "New York"){ console.log("Welcome to New York City!") } else if(city === "Tokyo"){ console.log("Welcome to Tokyo, Japan!") }; // Since we failed the condition for the first if(), we went to the else if() and checked and instead passed that condition. // let num = 10; // if (num > 0) { // if (num < 5){ // console.log("Number is between 0 and 5"); // }else { // console.log("Number is greater than or equal to 5"); // } // }else { // console.log("Number is less than or equal to 0"); // } // if (num > 0 && num < 5) { // console.log("Number is between 0 and 5"); // }else if (num >= 5) { // console.log("Number is greater than or equal to 5"); // }else{ // console.log("Number is less than or equal to 0"); // } if(numA > 0) { console.log('Hello'); } else if (numH === 0) { console.log('World'); } else { console.log('Again'); } /* Since both the preceding if and else if conditions failed, the else statement was run instead. Else statements should only be added if there is a preceding if condition. */ // else { // console.log("Will not run without an if"); // } // else if (numH === 0) { // console.log('World'); // } else { // console.log('Again'); // } // if, else if and else statements with functions /* - Most of the times we would like to use if, else if, and else statements with functions to control the flow of our application - By including them inside functions, we can decide when certain conditions will be checked instead of executing statements when the JavaScript loads. - The "return" statement can be utilized with condtional statements in combination with functions to change values to be used for other features of our application. */ let message = 'No message.'; console.log(message); function determineTyphoonIntensity(windSpeed) { if (windSpeed < 30) { return 'Not a typhoon yet.'; } else if (windSpeed <= 61) { return 'Tropical depression detected.'; } else if (windSpeed >= 62 && windSpeed <= 88) { return 'Tropical storm detected.'; } else if (windSpeed >= 89 || windSpeed <= 117) { return 'Severe tropical storm detected.'; } else { return 'Typhoon detected.'; } } message = determineTyphoonIntensity(110); console.log(message); /* - We can further control the flow of our program based on conditions and changing variables and results - The initial value of "message" was "No message." - Due to the conditional statements created in the function, we were able to reassign it's value and use it's new value to print a different output. - console.warn() is a good way to print warnings in our console that cold help us developers act on certain output within our code */ if (message == 'Tropical storm detected.') { console.warn(message); } // [SECTION] Truthy and Falsy // -In Javascript a "truthy" value is a value that is considered true when ecnountered in a Boolean context // - Values are considered true unless defined otherwise // - Falsy values/exceptions for truthy: /* 1. false 2. 0 3. -0 4. "" 5. null 6. undefined 7. NaN */ // Truthy Examples // - If the result of an expression in a condition results to a truthy value, the condition retunrs true and the corresponding statements are executed // - Expressions are any unit of code that can bve evaluated to a value if (true) { console.log('Truthy'); } if(1) { console.log('Truthy'); } if ([]) { console.log('Truthy'); } // Falsy examples if (false) { console.log('Falsy'); } if (0) { console.log('Falsy'); } if (undefined) { console.log('Falsy'); } // [SECTION] Conditional (Ternary) Operator /* - The Conditional (Ternary) Operator takes in three operands: - 1. condition 2. expression to execute if the condition is truthy 3. expression to execute if the condition is falsy - it can be used as an alternative to an "if else" statement -Ternary operators have an implicit "return" statement meaning that without the return keyword, the resulting expressions can be stored in a variable. - It is commonly used for single statement execution. */ // Single statement execution let ternaryResult = (1 < 18) ? true : false; console.log("Result of Ternary Operator " + ternaryResult); // Multiple statement execution /*Both functions perform two seperate tasks which changes the value of the "name" variable and returns the result storing it in the "legalAge" */ let name; function isOflegalAge() { name = 'John'; return 'You are of the legal age limit'; } function isUnderAge() { name = 'Jane'; return 'You are under the age limit'; } let age = parseInt(prompt("What is your age?")); console.log(age); let legalAge = (age > 18) ? isOflegalAge() : isUnderAge(); console.log("Result of Ternary Operator in functions: " + legalAge + ', ' + name); // [SECTION] Switch Statement let day = prompt("What day of the week is it today?").toLowerCase(); console.log(day); switch (day) { case 'monday': console.log("The color of the day is red"); break; case 'tuesday': console.log("The color of the day is orange"); break; case 'wednesday': console.log("The color of the day is yellow"); break; case 'thursday': console.log("The color of the day is green"); break; case 'friday': console.log("The color of the day is blue"); break; case 'saturday': console.log("The color of the day is indigo"); break; case 'sunday': console.log("The color of the day is violet"); break; default: console.log("Please input a valid day"); break; } // [SECTION] Try-Catch-Finally Statement function showIntensityAlert(windSpeed) { try { alerat(determineTyphoonIntensity(windSpeed)); } catch (error) { console.log(typeof error); console.warn(error.message); } finally { alert('Intensity updates will show new alert.'); } } showIntensityAlert(56);