Подскажите, как можно заполнить часть строки, длиной 8/32 символа нулями с помощью метода padStart

<html>
<head></head>
<body>
    <script>
        let a = 122, b = 19, c = 41;
        let bit = '';
        let result = c | a;
        for (; a >= 1;) {
            bit +=a % 2;
            a = Math.trunc(a / 2);
            console.log(a);
        }
        bit = bit.split('').reverse('').join('');
        console.log('Длина: ' + bit.length);
        if (bit.length < 8) {
            bit.padStart(8, '0');           
        } else if (bit.length > 8 <= 32) {
            bit.padStart(32, '0');
        }
        document.writeln(bit);
/*        document.writeln(result);*/

    </script>
    </body></html>


Ответы (1 шт):

Автор решения: vsemozhebuty
  1. Строки в JS — неизменяемый тип значений, поэтому результат функции нужно переприсваивать той же переменной.

  2. Двойное сравнение работает не так, как вы ожидаете: результат первого сравнения сравнивается со вторым значением. Нужно использовать оператор &&. Попробуйте так:

        if (bit.length < 8) {
            bit = bit.padStart(8, '0');           
        } else if (bit.length > 8 && bit.length < 32) {
            bit = bit.padStart(32, '0');
        }
→ Ссылка