【JavaScript ECMAScript】String::String.prototype.substrインスタンスメソッドの使い方
String.prototype.substr()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
String.prototype.substr()メソッドは、JavaScriptにおいて、指定された文字列の一部を切り出して新しい文字列として返すメソッドです。このメソッドは元の文字列を変更することなく、抽出された部分を新たな文字列として生成します。
このメソッドは最大で2つの引数を取ります。最初の引数は必須で、文字列のどこから抽出を開始するかを示す数値(インデックス)を指定します。文字列の最初の文字のインデックスは0であり、そこから順に数えられます。もし開始位置として負の数を指定した場合、その数値は文字列の末尾から数えた位置として解釈されます。例えば、-1は最後の文字、-2は最後から2番目の文字の位置を指します。開始位置が文字列の長さよりも大きい場合、結果として空の文字列が返されます。
2番目の引数はオプションで、抽出する文字の長さを数値で指定します。この引数を省略した場合、指定された開始位置から文字列の最後まで全ての文字が抽出されます。もし抽出文字数として負の数を指定した場合、その値は0として扱われ、結果として空の文字列が返される可能性があります。
例えば、「JavaScript」という文字列に対し、"JavaScript".substr(0, 4)を実行すると「Java」が返され、"JavaScript".substr(4)を実行すると「Script」が返されます。
しかしながら、このString.prototype.substr()メソッドは、ECMAScriptの将来のバージョンで非推奨となり、最終的に削除される可能性があります。そのため、新しいコードを記述する際には、より現代的で推奨されているString.prototype.substring()やString.prototype.slice()メソッドを使用することが強く推奨されます。これらの代替メソッドは、引数の解釈がより直感的で、一貫性のある動作を提供します。
構文(syntax)
1const originalString = "JavaScript"; 2const extractedPart = originalString.substr(4, 6); 3// extractedPart は "Script" になります
引数(parameters)
start, length
- start: number: 部分文字列の開始位置を指定する数値。0から始まります。
- length: number: 取得する部分文字列の長さを指定する数値。省略した場合、開始位置から文字列の最後までが取得されます。
戻り値(return)
String
指定された位置から指定された長さの文字列を抽出した新しい文字列を返します。