Объект String это оболочка вокруг строки данных примитивных типов. Не путайте строковой литерал с объектом String. Например, следующий код создаёт строковой литерал s1 и String-объект s2:
s1 = "foo" // создаётся строковое литеральное значениеВы можете вызвать любой метод String-объекта в строковом литеральном значении -- JavaScript автоматически конвертирует строковой литерал во временный String-объект, вызывает метод, затем уничтожает временный String-объект. Можно также использовать свойство String.length со строковым литералом.
Вы должны использовать строковые литералы, если нет специальной необходимости использовать String-объект, поскольку String-объекты могут вести себя непредсказуемо. Например:
s1 = "2 + 2" // создаёт строковое литеральное значениеСтрока может быть представлена как литерал, заключённый в одинарные или двойные кавычки; например, "Netscape" или 'Netscape'.
Вы можете конвертировать значение любого объекта в строку, используя функцию верхнего уровня String.