63 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | id: 599a789b454f2bbd91a3ff4d | |||
|  | title: Practice comparing different values | |||
|  | challengeType: 1 | |||
|  | videoUrl: '' | |||
|  | localeTitle: Практика сравнения разных значений | |||
|  | --- | |||
|  | 
 | |||
|  | ## Description
 | |||
|  | <section id="description"> В двух последних проблемах мы узнали об операторе равенства ( <code>==</code> ) и строгого оператора равенства ( <code>===</code> ). Давайте сделаем быстрый обзор и практикуем использование этих операторов еще немного. Если сравниваемые значения не относятся к одному типу, оператор равенства выполняет преобразование типа, а затем оценивает значения. Тем не менее, строгий оператор равенства будет сравнивать как тип данных, так и значение as-is, без преобразования одного типа в другой. <strong>Примеры</strong> <blockquote> 3 == '3' // возвращает true, потому что JavaScript выполняет преобразование типов из строки в число <br> 3 === '3' // возвращает false, потому что типы разные, и преобразование типов не выполняется </blockquote> <strong>Заметка</strong> <br> В JavaScript вы можете определить тип переменной или значение с помощью оператора <code>typeof</code> следующим образом: <blockquote> typeof 3 // возвращает 'number' <br> typeof '3' // возвращает 'string' </blockquote></section> | |||
|  | 
 | |||
|  | ## Instructions
 | |||
|  | <section id="instructions"> Функция <code>compareEquality</code> в редакторе сравнивает два значения с помощью <code>equality operator</code> . Измените функцию так, чтобы она возвращала «Равно» только тогда, когда значения строго равны. </section> | |||
|  | 
 | |||
|  | ## Tests
 | |||
|  | <section id='tests'> | |||
|  | 
 | |||
|  | ```yml | |||
|  | tests: | |||
|  |   - text: '<code>compareEquality(10, "10")</code> должен возвращать "Не равно"' | |||
|  |     testString: 'assert(compareEquality(10, "10") === "Not Equal", "<code>compareEquality(10, "10")</code> should return "Not Equal"");' | |||
|  |   - text: '<code>compareEquality("20", 20)</code> должен возвращать "Не равно"' | |||
|  |     testString: 'assert(compareEquality("20", 20) === "Not Equal", "<code>compareEquality("20", 20)</code> should return "Not Equal"");' | |||
|  |   - text: Вы должны использовать оператор <code>===</code> | |||
|  |     testString: 'assert(code.match(/===/g), "You should use the <code>===</code> operator");' | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Challenge Seed
 | |||
|  | <section id='challengeSeed'> | |||
|  | 
 | |||
|  | <div id='js-seed'> | |||
|  | 
 | |||
|  | ```js | |||
|  | // Setup | |||
|  | function compareEquality(a, b) { | |||
|  |   if (a == b) { // Change this line | |||
|  |     return "Equal"; | |||
|  |   } | |||
|  |   return "Not Equal"; | |||
|  | } | |||
|  | 
 | |||
|  | // Change this value to test | |||
|  | compareEquality(10, "10"); | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </div> | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Solution
 | |||
|  | <section id='solution'> | |||
|  | 
 | |||
|  | ```js | |||
|  | // solution required | |||
|  | ``` | |||
|  | </section> |