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"

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

HTML атрибуты и DOM свойства

  • Значение HTML атрибута указывает начальное значение;
  • Значение DOM свойства является текущим значением;
  • Атрибуты инициализируют DOM свойства.

Добавить css link и js script динамически

const link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css';
link.integrity = 'sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO'; // необязательно
link.crossOrigin = 'anonymous'; // необязательно
document.head.appendChild(link);

const script = document.createElement('script');
script.src = 'https://code.jquery.com/jquery-3.3.1.slim.min.js';
script.integrity = 'sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo'; // необязательно
s...

Не ставить фокус по клику

Проблема заключалась в следующем: когда имеется интерактивный элемент с :focus стилем и вы щелкаете по этому элементу, на нём остаётся focus стиль (outline обводка). У нативной кнопки всё работает as expected, но стоит её добавить любой стиль и, как побочный эффект, меняется её поведение.