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"