在Ruby中,如果我想修改一个字符串并让它更改原始字符串,我可以使用!
爆炸字符。
string = "hello"
string.capitalize!
> "Hello"
string
> "Hello"
在JavaScript中,我找不到这种等价。例如,将字符串修改为upperCase
会在第一个实例之后返回原始字符串。
var string = "hello";
string.toUpperCase();
> "HELLO"
string
> "hello"
我知道我可以将其保存为变量,例如
var upperCaseString = string.toUpperCase();
但这似乎效率低下,不适合我的目的。
我知道这一定是显而易见的,但我错过了什么?
答案 0 :(得分:2)
toUpperCase
的返回值是一个大写的新字符串。如果你想保留它并扔掉原件,请使用:
string = string.toUpperCase();
BTW,当在node.js和类似环境的命令行中输入JS语句时,它会打印评估每个表达式的结果,这就是为什么只要输入就能看到大写版本的原因
string.toUpperCase();
正如您所推断的那样,对原始字符串没有影响。
答案 1 :(得分:0)
JavaScript传递中的字符串作为值存在,而不是引用,因此您已获得它:重新分配。
string = string.toUpperCase()
答案 2 :(得分:0)
将变量分配给自己,如
var string = "hello";
string = string.toUpperCase();