JavaScript入門 練習問題 56:文字列メソッド:文字列の置換
次のコードを実行したときのコンソールへの出力として正しいものはどれですか?
```javascript
const text = "apple apple apple";
const result = text.replace("apple", "orange");
console.log(result);
```
- "orange orange orange"
- "apple apple orange"
- "orange apple apple"
- "apple orange apple"
- "orange apple orange"
正解と解説を見る
正解:"orange apple apple"
次のコードの実行結果は、最初の「"apple"」だけが置換された「"orange apple apple"」となります。
【正解の理由】
文字列の`replace`メソッドは、第1引数に指定した文字列と一致する最初の部分だけを第2引数の文字列に置換します。すべての「"apple"」を置換したい場合は、`replaceAll`メソッドを使用するか、正規表現(=文字列のパターンを表現するための特殊な記述法)を使う必要があります。
【不正解の理由】
• 「"orange orange orange"」という結果は、`replaceAll`メソッドを使った場合の挙動であり誤り
• 「"apple apple orange"」という結果は、最後の要素だけが置換された場合のものであり誤り
• 「"apple orange apple"」という結果は、真ん中の要素だけが置換された場合のものであり誤り
• 「"orange apple orange"」という結果は、両端の要素が置換された場合のものであり誤り