Из JavaScript: The Definitive Guide Дэвид ФлэнаганТак строковый тип объекта или примитивный тип?
JavaScript типы можно разделить на две категории: примитивные типы и типы объектов. К примитивным типам JavaScript относятся числа, строки текста (известные как строки) и значения логической истины (известные как booleans).
В нем указывается, что string
является примитивным типом. Но позже был приведен пример кода
var s = "hello, world" // Start with some text.
s.charAt(0) // => "h": the first character.
s.charAt(s.length-1) // => "d": the last character.
s.substring(1,4) // => "ell": the 2nd, 3rd and 4th characters.
s.slice(1,4) // => "ell": same thing
s.slice(-3) // => "rld": last 3 characters
s.indexOf("l") // => 2: position of first letter l.
s.lastIndexOf("l") // => 10: position of last letter l.
s.indexOf("l", 3) // => 3: position of first "l" at or after 3
Так выглядит строковый объект или примитив? как примитивный тип может иметь методы? Разве это свойство типа объекта? Если это какой-то гибрид обоих, то когда он примитивен и когда он является объектом?
Продолжайте читать, вы найдете объяснение по своему усмотрению. Кроме того, это не вопрос, о котором вы должны спросить, так как у вас нет проблем с вашим кодом, просто отсутствие понимания языка. – Touffy
Предлагаемое чтение: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String – nicael
Типы примитивов также могут иметь методы типа объектов. Но вы не можете назначать новые методы/свойства литералам примитивным типам, но вы можете назначать новые методы/свойства для литералов. Это одно отличие между примитивами и объектами. – Blauharley