Исходный тип Результат
Undefined "undefined"
Null "null"
Boolean "true", если аргумент равен true, и "false", если аргумент равен false
Number текстовое представление числа (см. ниже)
String без изменений
Object результат преобразования значения объекта по умолчанию
Преобразование числа n в строку происходит по следующим правилам:
  • если n равно NaN, то результат "NaN";
  • если n равно +0 или -0, то результат "0";
  • если n отрицательно, то результат будет конкатенацией строки "-" и результата преобразования в строку числа -n;
  • если n равно бесконечности, то результат "Infinity";
  • в остальных случаях пусть mk и s — такие целые числа, что k >= 1, 10k-1 <= s < 10kn равно s x 10m-k и k — наименьшее из возможных. Отметим, что k — это количество цифр в десятичном представлении s, что s не делится на 10 и что наименее значимая цифра s может не быть однозначно определенной. Тогда
  • если k <= m <= 21, то результат состоит из k десятичных цифр s (без ведущих нулей), за которыми следуют m-k символов '0';
  • иначе, если 0 < m <= 21, то результат состоит из m старших десятичных цифр s, за которыми следуют десятичная точка '.' и k-m оставшихся десятичных цифр s;
  • иначе, если -6 < m <= 0, то результат состоит из символа '0', за которым следуют десятичная точка '.', -m символов '0' и k десятичных цифр s;
  • иначе, если k = 1, то результат состоит из единственной цифры s, символа 'e', символа плюс '+' или минус '-' в зависимости от того, положительно или отрицательно m-1, за которыми следует десятичное представление числа abs(m-1);
  • иначе результат состоит из старшей десятичной цифры s, за которой следуют десятичная точка '.' и k-1 оставшихся десятичных цифр s, символ 'e', символ плюс '+' или минус '-' в зависимости от того, положительно или отрицательно m-1, за которыми следует десятичное представление числа abs(m-1).