Randell Dawson 05f73ca409 fix(curriculum): Convert blockquote elements to triple backtick syntax for JavaScript Algorithms and Data Structures (#35992)
* fix: convert js algorithms and data structures

* fix: revert some blocks back to blockquote

* fix: reverted comparison code block to blockquotes

* fix: change js to json

Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: convert various section to triple backticks

* fix: Make the formatting consistent for comparisons
2019-05-17 08:20:30 -05:00

2.4 KiB

id, title, challengeType, videoUrl
id title challengeType videoUrl
599a789b454f2bbd91a3ff4d Practice comparing different values 1 https://scrimba.com/c/cm8PqCa

Description

In the last two challenges, we learned about the equality operator (==) and the strict equality operator (===). Let's do a quick review and practice using these operators some more. If the values being compared are not of the same type, the equality operator will perform a type conversion, and then evaluate the values. However, the strict equality operator will compare both the data type and value as-is, without converting one type to the other. Examples
3 == '3'  // returns true because JavaScript performs type conversion from string to number
3 === '3' // returns false because the types are different and type conversion is not performed

Note
In JavaScript, you can determine the type of a variable or a value with the typeof operator, as follows:

typeof 3   // returns 'number'
typeof '3' // returns 'string'

Instructions

The compareEquality function in the editor compares two values using the equality operator. Modify the function so that it returns "Equal" only when the values are strictly equal.

Tests

tests:
  - text: <code>compareEquality(10, "10")</code> should return "Not Equal"
    testString: assert(compareEquality(10, "10") === "Not Equal", '<code>compareEquality(10, "10")</code> should return "Not Equal"');
  - text: <code>compareEquality("20", 20)</code> should return "Not Equal"
    testString: assert(compareEquality("20", 20) === "Not Equal", '<code>compareEquality("20", 20)</code> should return "Not Equal"');
  - text: You should use the <code>===</code> operator
    testString: assert(code.match(/===/g), 'You should use the <code>===</code> operator');

Challenge Seed

// Setup
function compareEquality(a, b) {
  if (a == b) { // Change this line
    return "Equal";
  }
  return "Not Equal";
}

// Change this value to test
compareEquality(10, "10");

Solution

function compareEquality(a,b) {
  if (a === b) {
    return "Equal";
  }
  return "Not Equal";
}