Не работает else(((
Есть скрипт, который выборочно выводит свойство объекта через prompt. По задумке, если пользователь ведет другое значение, которого нет в объекте, то должно выводиться сообщение "Введите age или name", но вместо него выходит значение undefined
В каком месте я ошибся?
let border = prompt('Что хотите узнать?' , '');
let user ={
name: 'Domik',
age: 99,
};
if (border == border){
alert(user[border]);
}
else{
alert('Введите age или name');
}
Ответы (1 шт):
Автор решения: Сергей Мишин
→ Ссылка
Ошибка здесь:
if (border == border)
Эта конструкция бессмысленная. Вы проверяете значение переменной с самой собой.
Как вариант: брать имена ключей и проверять наличие имени этого ключа в массиве. Если есть - то выводить значение по ключу, в ином случае - ошибку.
let border = prompt('Что хотите узнать?', '');
let user = {
name: 'Domik',
age: 99,
};
let objectPropertyKeys = Object.keys(user);
let alertText = objectPropertyKeys.includes(border) ? user[border] : `Введите одно из значений: ${objectPropertyKeys.join(', ')}`;
alert(alertText);