В последних двух задачах мы узнали об операторе равенства (==) и операторе строгого равенства (===). Давайте сделаем небольшой обзор и еще немного попрактикуемся в использовании этих операторов.
Если сравниваемые значения не одного типа, оператор равенства выполнит преобразование типа, а затем оценит значения. Однако оператор строгого равенства будет сравнивать как тип данных, так и значение как есть, без преобразования одного типа в другой.
Примеры:
3 == '3' возвращает истину, потому что JavaScript выполняет преобразование типа из строки в число. 3 === '3' возвращает false, потому что типы различны и преобразование типов не выполняется.
Примечание. В JavaScript вы можете определить тип переменной или значения с помощью оператора typeof:
typeof 3
typeof '3'
typeof 3 возвращает number, а typeof '3' возвращает string, т.е 3 - это число, а '3' - строка
Задание:
- Создайте функцию compareEquality, которая принимает два параметра
- Если аргументы равны, но имеют разный тип вернуть строку "Равны по значению"
- Если аргументы равны и по типу и по значению вернуть строку "Равны и по типу и по значению"
- Если аргументы не равны, ввернуть сообщение "Не равны"
Примечание: Подумайте про порядок проверок внутри функции