悩む男性
substrメソッドを毎回癖で使っていたけれど、今って非推奨なの?
代替えになるメソッドsubstringについて教えて。
substrとsubstringの違いって何?
文字列の一部を取り出すメソッドは、検索や条件分岐などでよく使用します。
今まではsubstrを多用していましたが、現在は非推奨となってしまっています。
また、引数の使い方も違うため混乱してしまうこともあると思います。
私もよく引数を間違えてしまい、思い通りの動きにならず、エラーを出してしまうことがよくあります。
今回は、私がよくつまずく引数の話やsubstrとsubstringの違いについて、サンプルコード付きで分かりやすく解説します。
substrメソッドとは
文字列の一部を、指定した位置から後方向に指定した文字数だけ返すメソッド
const str = 'takahashi';
console.log(str.substr(2, 2));
// Expected output: "ka"
console.log(str.substr(4));
// Expected output: "hashi"
console.log(str.substr(-3));
// Expected output: "shi"
substringメソッドとは
オブジェクトの開始・終了位置の間、または文字列の最後までの部分集合を返すメソッド
const str = 'takahashi';
console.log(str.substring(2, 2));
// Expected output: "ka"
console.log(str.substring(4));
// Expected output: "hashi"
console.log(str.substring(-3));
// Expected output: "shi"
substrとsubstringの違い
第二引数が違う
- substr(start, length)
- 第二引数は引き出す文字数を指定する
- substring(start, end)
- 第二引数に、引き出す文字の終了地点を指定する
const str= 'takahashi';
console.log(str.substr(2, 2));
// Expected output: "ka"
console.log(str.substring(2, 4));
// Expected output: "ka"
const name = '高橋 一太郎';
console.log(name.substr(3, 1));
// Expected output: "一"
console.log(name.substring(3, 4));
// Expected output: "一"
まとめ
今回はsubstr、substringの使い方と、両者の違いについて解説しました。
substrは非推奨となっているため、substringで統一しておきたいですね。
今後引数を変更することがあった場合に、エラーが起きそうなので…
この記事が、皆様のお役に立てれば幸いです。
これからも一緒にプログラミング学習に励んでいきましょう。