Есть ли разница между преобразованиями в строку:
let a = 5;
let b = a + '';
let c = String(a);
В приведённом примере - нет. Вообще, я предпочитаю сложение со строкой - оно короче, нагляднее и работает быстрее. Кстати, есть ещё третий вариант - вызов метода toString, но он будет падать, если в переменной окажется null или undefined.
А вообще, разница может быть, например, с типом данных symbol:
var num = 12345
console.log(String(num))
console.log(num.toString())
console.log(num + "")
var sym = Symbol("smth")
console.log(String(sym))
console.log(sym.toString())
console.log(sym + "")
.as-console-wrapper.as-console-wrapper { max-height: 100vh }
Немного спецификации:
ToStringString, без оператора new, если тип параметра Symbol, то вызовется функция SymbolDescriptiveString, в противном случае будет вызвана та же самая ToString.Таким образом можно заключить, что разница будет видна только если аргументом будет объект Symbol.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости