Как увидеть, узнать, вывести в консоль что функция false либо true?

Есть такое задание, не понимаю как толком его решить ?

Есть страница, у которой можно настроить видимость меню, либо скрыть его. Настройка видимости меню осуществляется путем JS скрипта. Нужно протестировать данный функционал, а значит создать необходимый скрипт.

Есть 3 варианта пользователей: не авторизован и не должен видеть меню, юзер авторизован - но не должен видеть меню (его id=7), все остальные авторизованные пользователи видят меню.

Нужно написать JS скрипт, который будет возвращать False, если пользователь не авторизован, False если пользователь с id=7, True для остальный авторизованных пользователей

В этом помогут следующие апи команды:

  • p.currentUser.isGuest() - апи возвращает тру, если пользователь не авторизован

  • p.currentUser.getValue(‘id’) - апи возвращает айдишник текущего авторизованного пользователя

Чем решение кардинально отличается от такого ? Как по ссылке JavaScript Login Form Validation | FormGet

Непонимаю почему вызов фунции внутри другой функции ?

Нужно больше информации. Какой код уже есть? Есть возможность выложить куда-нибудь?

function isGuest(id, username, password) {
(username === undefined || null) && (password === null) && (id === null)
return false

}

function currentUser(id, username, password) {
if ((username == “test”) && (password == “test”) && (id !== 7)) {

    console.log(arguments[0]);
    return true

} else if ((username == "test") && (password == "test") && (id === 7)) {

    return false

} else {
    return isGuest();
}

}

console.log(currentUser(6, ‘test5’, ‘test’));

Но, я думаю должно быть что-то наподобии такого, стрелочное, пока исчу ошибку…

const getValue = (CurrentUser,username, passwordt, id) => (((username === “test”) && (password === “test”) && (id !== 7))?true:false);

console.log(getValue({ username: “test”, password:“test”, id: “5”}));
//console.log(CurrentUser.getValue(id))

От не могу понять, p наверное пароль ? но почему он сначала ? в задаче

Окей, у тебя в начале написано:

Есть страница, у которой можно настроить видимость меню

Код, который ты написал, должен встраиваться в существующую страницу или тебе нужно просто написать изолированную функцию?

Мне тоже не вполне понятно, что такое p. Возможно это какой-то объект, к которому у тебя есть доступ и из которого ты можешь получать информацию.

Да просто скрипт схематически.

Сложно понять вопрос потому что не хватает частей описания. Давай попробуем разобраться.

Это будет выглядеть примерно так. Предполагаю что объект p доступен глобально, предполагаю что p.currentUser равно undefined если пользователь не аутентифицирован:

function shouldShowMenu() {
	// Не авторизован, или пользователь авторизован и имеет айдишник 7
	if (!p.currentUser || p.currentUser.getValue(‘id’) === 7)	{
		return false
	} else {
		return true
	}
}

Не понятно к чему относится эта фраза. В тексте выше не было никакого описания вызова внутри вызова.

Давай обсудим с того чем оно похоже на то что по ссылке.

Я где-то вичитала что неавторизованному пользователю низзя присваивать undefined, нужно null

Это верная идея. Так нужно делать чтобы по значению можно было отличить отсутствие значения по неизвестной причине от отсутствия значения по замыслу автора скрипта. На качество примера что я кинул выше этот нюанс не влияет: код будет работать.