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>
|