Array#slice
上的MDN page声明:
对于字符串,数字和布尔值(不是String,Number和Boolean 对象),slice将值复制到新数组中。改变了 一个数组中的字符串,数字或布尔值不会影响另一个数组。
当然,不会复制字符串文字,即引用类型(公认具有值语义)。而是复制引用?
答案 0 :(得分:2)
字符串文字产生不可变的原始值。那些不是参考值。
这些字符串可以通过JS引擎中对字符数组的共享引用来实现,就是实现细节。正如你自己所说,字符串确实在JS中具有价值语义,而这就是最重要的。
答案 1 :(得分:0)
不,string
文字 在JavaScript中被视为原始类型,就像number
s一样。
请参阅MDN - Strings # Distinction between string primitives and String objects