【JavaScript】substrメソッドは非推奨、代替えメソッドはsubstring

Web制作
悩む男性
悩む男性

substrメソッドを毎回癖で使っていたけれど、今って非推奨なの?

代替えになるメソッドsubstringについて教えて。

substrsubstringの違いって何?

文字列の一部を取り出すメソッドは、検索や条件分岐などでよく使用します。

今まではsubstrを多用していましたが、現在は非推奨となってしまっています。

また、引数の使い方も違うため混乱してしまうこともあると思います。
私もよく引数を間違えてしまい、思い通りの動きにならず、エラーを出してしまうことがよくあります。

今回は、私がよくつまずく引数の話やsubstrとsubstringの違いについて、サンプルコード付きで分かりやすく解説します。

この記事のポイント
  • substrの使い方が分かる
  • substringの使い方が分かる
  • 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: "一"

まとめ

今回はsubstrsubstringの使い方と、両者の違いについて解説しました。
substrは非推奨となっているため、substringで統一しておきたいですね。
今後引数を変更することがあった場合に、エラーが起きそうなので…

この記事が、皆様のお役に立てれば幸いです。

これからも一緒にプログラミング学習に励んでいきましょう。

タイトルとURLをコピーしました