В JavaScript, как и во многих других современных языках программирования (например, Python, и, не удивляйтесь - в современном Паскале тоже) почти всё является объектом. Поэтому почти к любому элементу языка применимы приёмы объектно-ориентированного программирования. И сегодня расскажу об одном таком приёме в JavaScript, который можно использовать для преобразования числа в строку.
Вообще во многих случаях в JavaScript не требуется каких-то дополнительных действий для преобразования числа в строку или наоборот. Потому что это происходит автоматически, исходя из содержимого кода. Например:
var x = 10;
alert('У меня есть ' + x + ' яблок');
Здесь нет ошибки. Код выведет сообщение:
Потому что JavaScript понимает, что надо выводить строку, и преобразует целочисленное значение переменной х в строку.
Обратное преобразование тоже возможно:
var z = "10";
alert(z + 0);
Здесь мы сложили строку “10” с числом 0. JavaScript предположил, что вы хотели получить в итоге строку, и преобразовал число 0 в символ (строку), и в итоге будет выведена строка “100”.
Таким образом JavaScript всегда пытается выполнить преобразование типа и привести его к тому типу, который наиболее логичен в данном контексте (обычно всё преобразуется в строки).
Если вы просто хотите преобразовать число в строку, то можно сделать, например, так:
var N = 13;
var S = N + "";
то есть просто сложить число с пустой строкой.
Для явного преобразования числа в строку используется функция Sting():
var N = 13;
var S = String(N);
А ещё один способ преобразования числа в строку - использование метода toString():
var N = 13;
var S = N.toString();
Это как раз то, о чём я говорил в начале статьи - практически всё в JavaScript является объектом. И почти у всех объектов есть свойства и методы. А все числовые переменные являются объектом Number.
В метод toString() ещё можно передавать параметр - основание системы счисления. По умолчанию число преобразуется в десятичное. Но можно преобразовать число в строку, где оно будет представлено в другой системе счисления - в двоичной, восьмеричной или шестнадцатеричной:
var N = 100;
alert('dec = ' + N.toString() + '\n' +
'bin = ' + N.toString(2) + '\n' +
'oct = ' + N.toString(8) + '\n' +
'hex = ' + N.toString(16));
Этот пример выведет следующее:
На этом пока всё. Чуть больше сведений о преобразованиях можете найти здесь.
Подписывайтесь на канал, чтобы ничего не пропустить.