javascript slice(), subStr(),の違い

slice()

slice()は、第1引数:開始位置
第2引数:終了位置(省略可能)

第1引数だけを指定した場合、その位置から最後までを切り取る。

例1

var int = '0123456789';
var result = int.slice(5); // 最初は0から始まる。5番目から最後まで切り取る
console.log(result);

// 56789

 

例2

var int = '0123456789';
var result = int.slice(3, 5); // 4番目から6番目までを切り取る
console.log(result);

// 34 -> 6番目は含まれない

 

例3

var int = '0123456789';
var result = int.slice(-3); // 引数がマイナスの時
console.log(result);

// 789 -> 最後から3番目までを切り取る

 

例4

var int = '0123456789';
var result = int.slice(0, -2); // 引数がマイナスの時
console.log(result);

// 01234567 -> 0番目と最後から2番目の間を切り取る

 

例5

var int = '0123456789';
var result = int.slice(3, 0); // 開始位置が終了よりも大きい時(マイナスなら可能だがエラーが出る)
console.log(result);

// から文字を返す

substring()

substring()は、第1引数:開始位置
第2引数:終了位置(省略可能)

例1、例2は、slice()と同じ出力結果になる。

例3、例4は、マイナス値が使われており、全て0に変換されるので、から文字となる。

例5の場合は、開始位置が終了位置より小さいが、自動的に小さい方から大きい方への切り取りとなる。

そのため、結果は、012となる。

 

参考:https://www.sejuku.net/blog/25488

https://www.sejuku.net/blog/25730

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です