String.slice と String.substring の違いは何ですか? 質問する

String.slice と String.substring の違いは何ですか? 質問する

これら 2 つの方法の違いがわかる人はいますか?

String.prototype.slice
String.prototype.substring

ベストアンサー1

slice()substring()いくつかの異なる動作と同様に動作します。

Syntax: string.slice(start, stop);
Syntax: string.substring(start, stop);

共通点:

  1. start等しい場合stop: 空の文字列を返します
  2. 省略した場合stop: 文字列の末尾までの文字を抽出します
  3. いずれかの引数が文字列の長さより大きい場合は、代わりに文字列の長さが使用されます。

の区別 substring():

  1. の場合start > stopsubstringこれら 2 つの引数が交換されます。
  2. いずれかの引数が負であるか である場合NaN、 であるかのように扱われます0

の区別 slice():

  1. の場合start > stopslice()空の文字列を返します。( "")
  2. が負の場合start: とまったく同じように、文字列の末尾から char を設定しますsubstr()
  3. が負の場合stop: stop をstring.length – Math.abs(stop)(元の値) に設定します。ただし、0 (つまり、Math.max(0, string.length + stop))に制限されます。ECMA仕様

ソース:プログラミングと開発の初歩: Javascript: substr() と substring()

おすすめ記事