JavaScript возвращает логическое значение в течение 21 года в строке шаблона - PullRequest
0 голосов
/ 26 июня 2019

Я не могу понять, как реализовать формулу больше, чем в строке шаблона, чтобы вернуть логическое значение (см. Код).

const age = 47; // simplified for question
let html;

html =  `<ul>
            <li>Alcohol allowed?: ${if (age > 20) {return 'true'} else {return 'false'}}</li>
        </ul>`;

document.getElementById("replace").innerHTML = html;
<html>
    <body>
        <ul>
            <li>Alcohol allowed?: true/false</li>
        </ul>
    </body>
</html>

1 Ответ

1 голос
/ 26 июня 2019

Ваша проблема в том, что нет необходимости return, так как вы не в функции. Вместо этого, поскольку все, что вам нужно, отображает true или false, вы можете просто использовать значение age > 20:

const age = 47; // simplified for question
let html = `<ul>
             <li>Alcohol allowed?: ${age > 20}</li>
            </ul>`;

document.body.innerHTML = html;

В качестве альтернативы, вы можете использовать троичную форму, если хотите отображать другие значения, кроме true или false.

См. Пример ниже:

const age = 47; // simplified for question
let html = `<ul>
             <li>Alcohol allowed?: ${age > 20 ? 'Above' : 'Below'}</li>
            </ul>`;

document.body.innerHTML = html;

Подробнее об условном (троичном) операторе можно прочитать здесь.

...