javascript - modify - w3school string reference




Javascript ha un metodo per sostituire parte di una stringa senza creare una nuova stringa? (2)

var str = "This is a string";
var thing = str.replace("string","thing");

console.log( str )
>> "This is a string" 

console.log( thing )
>> "This is a thing" 

C'è un altro metodo che posso usare, oltre a sostituire, che cambierà la stringa in posizione senza darmi un nuovo oggetto stringa?


C'è una ragione per cui le stringhe sono immutabili. Poiché Javascript utilizza la tecnica di call-by-sharing, la stringa mutabile sarebbe un problema in questo caso:

function thinger(str) {
    return str.replace("string", "thing");
}

var str = "This is a str";
var thing = thinger(str);

In questa situazione si desidera che la stringa venga passata per valore, ma non lo è. Se str fosse mutabile, thinger cambierebbe str, sarebbe un effetto davvero strano.


No, le stringhe in JavaScript sono immutabili.







string