猿问

在线等,挺急的!为什么js字符串不可变呢万分感谢

https://www.cnblogs.com/L-G-Y...
2、引用字符串的变量地址变了(指向了新的字符串),字符串本身没有变。【此时,字符串是对象,str指向的是字符串的地址】str="Howareyou!";
console.log(str);//结果是【Howareyou!】
这个文章说的给字符串重新赋值是把这个字符串当成对象去理解呢字符串不是简单数据类型存在栈里面的吗
Helenr
浏览 623回答 2
2回答

一只名叫tom的猫

所以,这篇文章是错的。字符串是基本类型,是直接保存在栈内存的变量空间中的,所以他说了引用两个字就错了。对象类型是保存在堆内存中的,所以栈内存中的变量是引用了对象的地址字符串除了是基本类型他还是包装类型(每当读取数据的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据),所以他可以进行slice等操作,但它本质上就是一个字符串,不是对象
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答