なんで似ているメソッドが3つもあるのか不明だけど、整理する意味でちゃんと書いておく。
- String.prototype.slice (start, end)
endは省略でき、その場合は末尾を指定したのと同様になる。
負数の場合は末尾からのインデックス値となる。
- '0123456789'.slice(2, 8); // 234567
- '0123456789'.slice(2); // 23456789
- '0123456789'.slice(-5, -2); // 567
- String.prototype.substring (start, end)
endは省略できない。
負数の場合は0に置き換わる。
- '0123456789'.substring(2, 8); // 234567
- '0123456789'.substring(-5, 2); // 01
- String.prototype.substr (start, length)
lengthは省略でき、その場合は元の文字列の末尾まで指定したのと同様になる。
startが負数の場合は0に置き換わる。lengthが負数の場合は・・・不明?
- '0123456789'.substr(2, 8); // 23456789
- '0123456789'.substr(2); // 23456789
- '0123456789'.substr(-5, 2); // 56
- 15.5.4.13 String.prototype.slice (start, end)
- 15.5.4.15 String.prototype.substring (start, end)
- B.2.3 String.prototype.substr (start, length)
0 件のコメント:
コメントを投稿