ddimonn8080
@ddimonn8080

Как можно сократить данное выражение в JS?

Как можно сократить данное выражение?
const hasSalePrice = isSingleReady && product.sale_price == 0 ? false : true;

Проверка такая
{hasSalePrice ? ReactHtmlParser(product.sale_price) : ReactHtmlParser(product.regular_price)}

Сокращал так, не работает
const hasSalePrice = isSingleReady && product.sale_price;

Спасибо.
  • Вопрос задан
  • 83 просмотра
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Инверсией
const hasSalePrice = !(isSingleReady && product.sale_price == 0);

Вторую строку можно сократить так
{ReactHtmlParser(hasSalePrice ? product.sale_price : product.regular_price)}

можно конечно даже так
{ReactHtmlParser(product[hasSalePrice ? 'sale_price' : 'regular_price'])}

но это фу.
Ответ написан
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Ну или так:
{ReactHtmlParser(product[ (hasSalePrice ? 'sale' : 'regular') + '_price' ])}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
Сокращал так, не работает
const hasSalePrice = isSingleReady && product.sale_price


Так должно работать
const hasSalePrice = !isSingleReady || product.sale_price
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы