所有编程语言的基本类型赋值总是复制一个副本吗?
大概就是最近学js产生的一个疑问,在js(javascript)里面字符串是基本类型的数据,java里是引用类型。由此产生了一个关于不同的编程语言的疑问。
比如java里,对基本类型这样操作:
int num1 = 1 ;
int num2 = num1;
那么对num2进行操作并不会影响到num1,因为是复制了num1的一个副本给num2。
而引用类型的话却是指向同一个“值”。那么对指向同一个的值进行操作其实都会影响。
比如js里面基本类型是字符串 布尔值 数字,那么在这里对字符串进行一样的操作:
var str1 = "123";
var str2 = str1;
那么是否就是把str1的一个副本给了str2。
当然java里面字符串还有个字符池(?没记错的话是这个名字)另外说吧。
那么我是否可以这样衍生出所有编程语言里,基本类型之间"瞎搞"玩的就是副本?