What I am looking for is how strings are physically treated in Javascript. Best example I can think of for what I mean is that in the Java api it describes the storage of strings as:
String str = "abc";" is equivalent to: "char data[] = {'a', 'b', 'c'};
To me this says it uses an array object and stores each character as its own object to be used/accessed later (I am usually wrong on these things!)...
How does Javascript do this?
What I am looking for is how strings are physically treated in Javascript. Best example I can think of for what I mean is that in the Java api it describes the storage of strings as:
String str = "abc";" is equivalent to: "char data[] = {'a', 'b', 'c'};
To me this says it uses an array object and stores each character as its own object to be used/accessed later (I am usually wrong on these things!)...
How does Javascript do this?
var str = "Hello"; console.log(str[0]); //shows "H"
– kennypu
Commented
Mar 1, 2013 at 22:50
Strings are String
objects in JavaScript. The String
object can use the []
notation to get character from a string ("abc"[0]
returns 'a'
). You can also use the String.prototype.charAt
function to achieve the same result.
Side node:
var a = 'abc'
andvar b = new String('abc')
are not the same. The first case is called a primitive string and get converted to aString
object by the JavaScript parser. This results in other data types, callingtypeof(a)
gives youstring
buttypeof(b)
gives youobject
.
Strings are stored in the same format in javascript as other languages stores. Suppose var word = "test" than at word will be as an array of characters and the 't' will e at 0th position and so on.
The last iteration as taking 'word.length' will return undefined. In other languages, it returns as '\0'.