नहीं, JavaScript में स्ट्रिंग्स अपरिवर्तनीय (immutable) होती हैं। replace() मेथड मूल स्ट्रिंग को नहीं बदलता, बल्कि एक नई स्ट्रिंग लौटाता है।
replace() मेथड
var message = "Hello, this is John";
console.log("बदलने से पहले: " + message);
// replace() नई स्ट्रिंग लौटाता है, मूल को नहीं बदलता
var newMessage = message.replace("John", "David Miller");
console.log("मूल स्ट्रिंग (अपरिवर्तित): " + message);
console.log("नई स्ट्रिंग: " + newMessage);
आउटपुट
बदलने से पहले: Hello, this is John
मूल स्ट्रिंग (अपरिवर्तित): Hello, this is John
नई स्ट्रिंग: Hello, this is David Miller
महत्वपूर्ण बिंदु
- स्ट्रिंग्स अपरिवर्तनीय हैं - कोई भी मेथड मूल स्ट्रिंग नहीं बदल सकता
replace()केवल पहली घटना को बदलता है- सभी घटनाओं को बदलने के लिए रेगुलर एक्सप्रेशन
/gफ्लैग के साथ उपयोग करें
सभी घटनाएं बदलें (ग्लोबल रिप्लेस)
var text = "apple, apple, orange, apple";
// केवल पहली घटना बदलेगी
console.log(text.replace("apple", "banana"));
// "banana, apple, orange, apple"
// सभी घटनाएं बदलने के लिए रेगएक्स उपयोग करें
console.log(text.replace(/apple/g, "banana"));
// "banana, banana, orange, banana"
// replaceAll() मॉडर्न ब्राउज़र्स में उपलब्ध (ES2021)
console.log(text.replaceAll("apple", "banana"));
// "banana, banana, orange, banana"
चलाने का तरीका
node string-replace.js
निष्कर्ष
JavaScript में स्ट्रिंग का कोई भी भाग बदलने पर हमेशा एक नई स्ट्रिंग बनती है। मूल स्ट्रिंग हमेशा अपरिवर्तित रहती है।