JS. String() vs toString()

const m = [1,'2',3];

m.toString();
String(m); // <===
"1,2,3"

toString()

toString() - это метод класса. Он будет работать только в том случае, если его реализует класс объекта, над которым вы работаете. Значение должно существовать. undefined или null приведет к ошибке

null.toString()
Cannot read property 'toString' of null
undefined.toString()
Cannot read property 'toString' of undefined

String()

String - это встроенный в JS глобальный объект (доступ к которому можно получить везде), который принимает параметр и преобразует его в строку.

Поскольку String является независимым объектом, а не методом, унаследованным от прототипа, то его можно использовать с объектами, у которых нет метода toString().

Одна особенность String(x) заключается в том, что он сначала вызывает toString(), а затем пытается использовать возвращаемое значение.

String(null)
"null"
String(undefined)
"undefined"

Похожие записи

Axios или fetch

Сравнение на примере GET/POST запросов, обработке ошибок и возможности задавать базовую конфигурацию.

JS. Get query param

function getQueryParam(item) {
  var svalue = window.location.search.match(new RegExp('[\?\&]' + item + '=([^\&]*)(\&?)', 'i'));
  return svalue ? svalue[1] : svalue;
}

// /foo/bar/baz.html?lang=ru
var lang = getQueryParam('lang') || 'en';