Учу методы в js. Когда пишу полной записью, код работает так, как задумывался, но если использую тернарный оператор, то консоль браузера выдает ошибку, дескать "не является функцией". Пытался прямо указать, что переменная userName == true, false, != и т.п. попытки понять хоть что-то или вызвать другую ошибку, но тщетно. Что не нравится браузеру?
Сама ошибкаUncaught TypeError: {(intermediate value)(intermediate value)(intermediate value)} is not a function at
Код, который выполняется правильно
const userName = prompt('What is your name?');
const greeting = {
userName,
'country': 'Russia',
userGreeting() {
alert(`Welcome, ${userName} from ${greeting.country}`);
}
}
if (userName) {
greeting.userGreeting();
} else {
alert('I don`t know you');
}
Код, который выдает ошибку
const userName = prompt('What is your name?');
const greeting = {
userName,
'country': 'Russia',
userGreeting() {
alert(`Welcome, ${userName} from ${greeting.country}`);
}
}
(userName) ? greeting.userGreeting() : alert('I don`t know you');