@atsin4469

Что значит присвоить константе value||value?

Задание
Функция должна переставлять каждые два подряд идущих символа. Если число символов нечётное, то последний символ остается на своем месте.

Решение
const encrypt = (str) => {
  let result = '';
  for (let i = 0; i < str.length; i += 2) {
    const nextSymbol = str[i + 1] || '';
    result = `${result}${nextSymbol}${str[i]}`;
  }

  return result;
};


Как работает оператор || в четвертой строке? Не понимаю, что значит присвоить константе value||value
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Здесь хорошо объясняют: ИЛИ «||» находит первое истинное значение

Цепочка value1 || value2 || ... || valueN в JavaScript вернёт первое ненулевое значение (которое приводится к булеву true)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
WblCHA
@WblCHA
Эквивалент:
const nextSymbol = str[i + 1] ? str[i + 1] : '';
Ответ написан
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
const nextSymbol = str[i + 1] || '';

Если значение str[i + 1] существует, оно не равно '', потому будет воспринято операцией || как true и вся конструкция сработает как:
const nextSymbol = str[i + 1];

Если значения str[i + 1] не существует (индекс i + 1 выходит за границы строки), операция || воспримет отсутствие значения как false и вся конструкция сработает как:
const nextSymbol = '';

Фактически, это эквивалентно:
const nextSymbol = i + 1 < str.length ? str[i + 1] : '';
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
25 янв. 2021, в 03:37
75000 руб./за проект
25 янв. 2021, в 01:42
999999 руб./за проект
25 янв. 2021, в 00:56
3000 руб./за проект