If we have a huge string, named str1
, say 5 million characters long, and then str2 = str1.substr(5555, 100)
so that str2
is 100 characters long and is a substring of str1
starting at 5555 (or any other randomly selected position).
How JavaScript stores str2
internally? Is the string contents copied or the new string is sort of virtual and only a reference to the original string and values for position and size are stored?
I know this is implementation dependent, ECMAScript standard (probably) does not define what's under the hood of the string implementation. But I want to know from some expert who knows V8 or SpiderMonkey from inside well enough to clarify this.
Thank you
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…