主な内容の要点
1. 文字列から一部を取り出す方法
- JavaScript では文字列の一部を取り出すのに
slice()とsubstring()というメソッドを使う。 - どちらも「開始位置」と「終了位置」を指定して、その範囲の文字列を返す。
2. slice(start, end)
- 書き方:
str.slice(開始位置, 終了位置)
JavaScript- 開始位置から終了位置の「直前」までを取り出す。
- 終了位置を省略すると、最後まで取れる。
- マイナスの数を指定できる(後ろから数える)。
- 例:
-1は「最後の文字」。
- 例:
3. substring(start, end)
- 書き方:
str.substring(開始位置, 終了位置)
JavaScript- 基本は
sliceと同じで「開始位置から終了位置の直前まで」。 - ただし違いがある:
- マイナスの数は使えない(負の数は 0 として扱われる)。
- 開始位置と終了位置を逆に書いても、自動で入れ替えてくれる。
4. 違いのまとめ
| 特徴 | slice | substring |
|---|---|---|
| 負の数 | 使える(後ろから数える) | 使えない(0になる) |
| 開始 > 終了 の場合 | 空文字になる | 自動で入れ替える |
| よく使う場面 | 部分的に柔軟に取りたいとき | シンプルに範囲を指定したいとき |
5. サンプルコード
let text = "JavaScript";
// slice
console.log(text.slice(4, 7)); // "Scr"
console.log(text.slice(-6, -3)); // "Scr"
// substring
console.log(text.substring(4, 7)); // "Scr"
console.log(text.substring(7, 4)); // "Scr" ←順番逆でもOK
JavaScript初心者へのアドバイス
- 柔軟に使いたいなら
slice - シンプルに範囲を指定するなら
substring - まずは
sliceを覚えておけば困らないことが多い。
覚えておきたいポイントまとめ
- 文字列は「0」から数えてインデックスを指定します。
slice/substringは元の文字列を変えずに 新しい文字列を返す メソッドです。- どちらを使っても良いですが、それぞれ「負の値」「インデックス入れ替え時の挙動」が異なるため、意図に応じて使い分けると安全。
slice:負の値OK、終了 ≤ 開始 → 空文字substring:負の値はゼロ扱い、終了 < 開始 → 開始/終了入れ替え
- 終了インデックスを省略すれば「開始位置から最後まで」を簡単に取得できます。
- 実践では「文字列の一部だけを取り出したい」場面で頻出なので、使い方を覚えておくと便利です。
👉 ここまでで「部分文字列を取り出す方法」が理解できるはずです。
もし「どっちを使うべき?」と迷うなら、実際に slice と substring を両方試してみると違いがよく分かります。
