こんにちは!フロントエンド・アーキテクチャの世界へようこそ。
日々たくさんのコードを書いていると、「あ、なんだか難しそうだな」と感じるメソッドに出会うことってありますよね。でも大丈夫です。一つひとつの道具を丁寧に紐解いていけば、JavaScriptはあなたの最高の相棒になってくれます。
今回は、文字列操作の仲間である `String.prototype.startsWith()` についてお話ししますね。
名前を聞くだけで少し身構えてしまうかもしれませんが、実は私たちの日常生活にあふれている、とっても身近でシンプルな仕組みなんです。一緒に楽しく見ていきましょう!
—
1. `startsWith()` ってどんなもの?(身近な例え話)
突然ですが、スーパーでお買い物をする場面を想像してみてください。
カゴの中にある商品を見て、レジの店員さんが「あ、これって〇〇のコーナーのやつだ!」とパッと見分けるとき、何を基準にしているでしょうか?
多くの場合、「商品のバーコードの最初の数字」や、「値札に書いてある特定のマーク」など、“先頭の文字”を確認していますよね。
JavaScriptの `startsWith()` も、まさにこれとまったく同じことをしてくれます。
「ある文字列が、指定した文字で『始まっているかどうか』を、`true`(はい)か `false`(いいえ)で答えてくれる」、そんな実直なチェックマンなんです。
2. 基本的な使い方:まずは書いてみよう!
百聞は一見に如かず。実際にコードを見てみましょう。
たとえば、ウェブサイトのURLをチェックする場面を思い浮かべてください。「安全なサイト(httpsから始まるサイト)」かどうかを調べたいとき、こんな風に書きます。
// 検査したいURL(今回は安全なHTTPSのURL)
const websiteUrl = “https://example.com”;
// 「”https” で始まっているか?」をチェックする
const isSecure = websiteUrl.startsWith(“https”);
console.log(isSecure);
// 出力結果は、もちろん 「true(はい、始まっています!)」 です!
どうですか?直感的で分かりやすいですよね。「この文字で始まっている?」とJavaScriptに問いかけるだけで、パッと正しい答えを返してくれます。
ちょっとつまずきやすいポイント:大文字と小文字に注意!
ここで、初学者の人がよくハマりがちな「あるある」を一つシェアさせてください。
JavaScriptは、大文字と小文字を厳しく区別するという性格を持っています。
たとえば、さっきのコードで `.startsWith(“HTTPS”)` と大文字で書いてしまうと……?
const websiteUrl = “https://example.com”;
// 大文字でチェックしてみる
const isSecureWrong = websiteUrl.startsWith(“HTTPS”);
console.log(isSecureWrong);
// 出力結果は 「false(いいえ、違います)」 になってしまいます!
「あれ?ちゃんと合ってるのにエラーになる!?」と焦りがちですが、コンピュータにとっては `h` と `H` はまったく別の文字。もし大文字・小文字が混ざりそうなデータ扱うときは、あらかじめ `.toLowerCase()` などのメソッドを使って小文字に統一してあげるのが、現場のプロもよく使うちょっとしたテクニックです。安心してくださいね、慣れていけば自然と手が覚えますよ。
3. 実務で役立つ!ちょっと便利な応用編
「なるほど、先頭の文字を調べるだけなら分かった。でも、それってどんなときに使うの?」と思いますよね。
ここでは、実際のWeb制作やアプリ開発で、この `startsWith()` がどんな風に役立っているのか、リアルなシチュエーションをご紹介します。
例:ファイル形式(拡張子)のチェックではなく、特定のプレフィックス(接頭辞)の判定
たとえば、SNSやブログの管理画面で、ユーザーが入力したタグ(ハッシュタグなど)が正しく `#` から始まっているかをチェックしたいときにも大活躍します。
// ユーザーが入力したタグのサンプル
const userTag = “#JavaScript初心者応援”;
// 「#」から始まっているか確認する
if (userTag.startsWith(“#”)) {
console.log(“素晴らしい!正しいハッシュタグの形をしています。”);
} else {
console.log(“先頭に半角の # をつけてくださいね。”);
}
このように、ユーザーの入力ミスを防ぐ「優しいバリデーション(入力値チェック)」の裏側でも、`startsWith()` はひそかに頑張ってくれています。
—
4. チーフアーキテクトからのメッセージ
ここまで読んでいただきありがとうございます!どうでしょう、`startsWith()` に対するハードルは少し下がったでしょうか?
プログラミングのメソッドや関数は、どれも私たちが日常生活で行っている「確認作業」を、コンピュータの言葉に翻訳しただけのものです。難しく考える必要は全くありません。
「ここはどうなっているんだろう?」と気になったら、まずはエディタを開いて、今回紹介したコードをコピー&ペーストして、自由に書き換えて遊んでみてください。動かして、失敗して、直して……その試行錯誤の積み重ねこそが、あなたを確実なエンジニアへと育ててくれます。
つまずいたときは、「あ、大文字と小文字が違うのかも?」といった基本に立ち返ってみてくださいね。
あなたのコーディングの旅が、明日も楽しく素晴らしいものになりますように!

コメント