Тернарный оператор vs if, что «эстетически» лучше?

Всегда ли тернарный оператор вводит в заблуждение? Какой по вашему мнению код более чистый?
bot.on('message', (msg) => {
    auth({id: msg.from.id, name: msg.from.first_name}, (registered) => {

        // Авторизован 
        if (registered){
            msg.hasOwnProperty('entities') ?
                routes.command(msg) :
                routes.commandText(msg);
        } else {
            command.start(msg);
        }
    });
});


bot.on('message', (msg) => {
    auth({
        id: msg.from.id,
        name: msg.from.first_name
    }, (registered) => {

        registered
            // Авторизован
            ? msg.hasOwnProperty('entities') ?
                routes.command(msg) :
                routes.commandText(msg)

            // Новый пользователь
            : command.start(msg)
    });
});
  • Вопрос задан
  • 1000 просмотров
Решения вопроса 1
werty1001
@werty1001
undefined
Первый вариант читается лучше в данном случае на мой вкус, а тернарный оператор лучше юзать для коротких условий.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
Обычно, тернарный оператор используется только в качестве выражения, т.е., например, var x = a ? 1 : 2; или fn(a ? 2 : 3);
Во всех остальных случаях правильнее использовать именно if.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы