Answer
t.me/js_testОтвет:
Хмм.. Кажется, у тебя нет возраста.
Объяснение:
В операциях сравнения примитивы сравниваются по их значениям, а объекты по ссылкам. JavaScript проверяет, чтобы объекты указывали на одну и ту же область памяти.
Сравниваемые объекты в нашем примере не такие: объект, переданный в качестве параметра, указывает на другую область памяти, чем объекты, используемые в сравнениях.
Поэтому { age: 18 } === { age: 18 } и { age: 18 } == { age: 18 } возвращают false.
Код для проверки:
function checkAge(data) {
if (data === { age: 18 }) {
console.log("Ты взрослый!");
} else if (data == { age: 18 }) {
console.log("Ты все еще взрослый.");
} else {
console.log(`Хмм.. Кажется, у тебя нет возраста.`);
}
}
checkAge({ age: 18 });