2013-08-10 2 views
4

Я недавно видел некоторые ссылки, которые объясняют строки в Javascript как примитивный тип. Я знаю, что примитив - это тип данных, который не составлен из других типов данных и не может быть разбит на любой другой. проблема в том, что я также читал строки - объекты. Как это может быть? Пожалуйста, уточните меня о путанице.Строки в javascript

+1

ряд встроенных типов, таких как String, Date, Array, а также объекты, которые имеют методы или могут быть автоматически преобразованы в объекты по мере необходимости. Почему это трудно поверить или понять? – jfriend00

+0

Перейдите в консоль вашего браузера и введите 'typeof new String (" s ")', а также 'typeof" asfd "' – Ian

ответ

3

Вы можете прочитать о том, что ту тему на MDN:

Обратите внимание, что JavaScript различает между объектами строк и примитивных значений строк. (То же самое можно сказать и о булевых и цифрах.)

Строковых литералы (обозначаются двойными или одинарными кавычками) и строки возвращаемых строк вызовов в контексте не-конструктора (т.е. без используя новое ключевое слово) примитивны строки. JavaScript автоматически преобразует примитивы в String-объекты, так что можно использовать методы String для примитивных строк. В контексте, где должен быть вызван метод в примитивной строке или поиск свойств , JavaScript автоматически обертывает примитив строки, а вызывает метод или выполняет поиск свойства.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

+0

Спасибо, это действительно помогло! – vertexion

+0

@vetexion. Пожалуйста! Не забудьте принять ответ –

+0

Извините, я новичок в SO, не могу ответить на этот вопрос. (Мин. 15 репутации). Я принял ваш ответ. – vertexion