From ce1b4a02c239af2389a196eb7846529f714b90ea Mon Sep 17 00:00:00 2001 From: Shanmugapriya Date: Thu, 27 Feb 2025 12:48:12 -0600 Subject: [PATCH 1/2] changes done as part of practice --- explicit-and-implicit-conversion-in-javascript.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/explicit-and-implicit-conversion-in-javascript.js b/explicit-and-implicit-conversion-in-javascript.js index ede0ccd..d67cc79 100644 --- a/explicit-and-implicit-conversion-in-javascript.js +++ b/explicit-and-implicit-conversion-in-javascript.js @@ -1,5 +1,4 @@ /* - Part 1: Debugging Challenge The JavaScript code below contains intentional bugs related to type conversion. Please do the following: @@ -15,18 +14,18 @@ Write their own code that demonstrates: *We encourage you to: Include at least one edge case, like NaN, undefined, or null . Use console.log() to clearly show the before-and-after type conversions. - */ -let result = "5" - 2; -console.log("The result is: " + result); +let result = Number("5" )- 2; // explicit conversion +console.log("The result is: "+result); +// Boolean of any value other than null, "", NaN, undefined, false is true. Hence the string "false" evaluates to true and the console.log is printed. let isValid = Boolean("false"); if (isValid) { console.log("This is valid!"); } let age = "25"; -let totalAge = age + 5; -console.log("Total Age: " + totalAge); +let totalAge = Number(age) + 5;// explicit conversion +console.log("Total Age: " + String(totalAge));// explicit conversion From ed3bdefcbadeebe59ca0d5f6fdc01946c23690f1 Mon Sep 17 00:00:00 2001 From: Shanmugapriya Date: Thu, 27 Feb 2025 13:09:26 -0600 Subject: [PATCH 2/2] additional changes added --- explicit-and-implicit-conversion-in-javascript.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/explicit-and-implicit-conversion-in-javascript.js b/explicit-and-implicit-conversion-in-javascript.js index d67cc79..b22dc90 100644 --- a/explicit-and-implicit-conversion-in-javascript.js +++ b/explicit-and-implicit-conversion-in-javascript.js @@ -29,3 +29,16 @@ if (isValid) { let age = "25"; let totalAge = Number(age) + 5;// explicit conversion console.log("Total Age: " + String(totalAge));// explicit conversion + +//One example of implicit type conversion + +let checkEqual = Boolean(20 ==="20"); // prints false since one is number and the other is string +console.log(checkEqual); +let newCheckEqual = Boolean(20 =="20") // == equality operator checks if values are equal, string "20" is implicitly converted for comparison +console.log(newCheckEqual); + +//One example of explicit type conversion +let isSnowing = null; +console.log(typeof(isSnowing)); +console.log(Boolean(isSnowing)); +console.log(typeof(Boolean(isSnowing))); \ No newline at end of file