javascript sliceとsubstringの違い
- 作成日 2022.06.30
- 更新日 2023.01.23
- javascript
- javascript
javascriptで、sliceとsubstringの違いを掲載してます。パファーマンスはあまり変わりませんが範囲外の範囲を指定した際に結果が異なります。ブラウザはchromeを使用しています。
環境
- OS windows11 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 109.0.5414.75
sliceとsubstringの違い
どちらも、以下のように指定した範囲で文字を抽出することができる関数です。
文字列.slice(開始位置0から,終了位置)
文字列.substring(開始位置0から,終了位置)
実際に実行してみると、同じように取得することが可能です。
let str = "abcde"
// 3文字目から4文字目まで抽出
console.log( str.slice(2,4) ) // cd
console.log( str.substring(2,4) ) // cd
ただし、以下のように開始位置が終了位置より大きい場合は「slice」は空が返り、
「substring」は「2文字目から4文字目」までが取得されます。
let str = "abcde"
// 開始位置が終了位置より大きい場合
console.log( str.slice(4,1) ) //
console.log( str.substring(4,1) ) // bcd
また、マイナスを指定した場合は「slice」は後ろからマイナス分の文字が返り
「substring」は全て取得されます。
let str = "abcde"
// マイナスを指定した場合
console.log( str.slice(-2) ) // de
console.log( str.substring(-2) ) // abcde
また、同じ結果が返る処理を行った場合、パフォーマンスはほぼ同じとなります。
<chrome 102.0.5005.115>
実行回数:1000000回 関数名:slice 実行時間:1.70(ms)
実行回数:1000000回 関数名:substring 実行時間:1.80(ms)
<firefox97>
実行回数:1000000回 関数名:slice 実行時間:5.00(ms)
実行回数:1000000回 関数名:substring 実行時間:6.00(ms)
-
前の記事
MySQL タイムゾーンを確認する 2022.06.29
-
次の記事
Visual Studio 2022 ローカルにあるブランチを削除する 2022.06.30
コメントを書く