JavaScript - 文字列:入門ガイド

こんにちは、未来のJavaScript魔法使いさんたち!今日は、JavaScriptの文字列の魔法の世界に飛び込みます。心配しないでください。これまで一度もコードを書いたことがない人でも、このチュートリアルの終わりまでにプロのようにコードを組むことができるようになります!始めましょう!

JavaScript - Strings

文字列とは?

JavaScriptでは、文字列は文字のシーケンスです。文字列は文字、数字、記号、甚至是びスペースでもできます。プログラミングの世界のテキストだと思ってください。

例えば:

let greeting = "Hello, World!";
let number = "42";
let symbol = "@#$%";

これらはすべて文字列です。JavaScriptでは、引用符がついているものはすべて文字列です。

文法

JavaScriptで文字列を作成するのは簡単です。シングルクォート ('')、ダブルクォート ("")、甚至是びバックティック (``) を使うことができます。いくつかの例を見てみましょう:

let singleQuotes = 'I am a string';
let doubleQuotes = "I am also a string";
let backticks = `And I'm a string too!`;

プロ tip: バックティックには特別なスーパーパワーがあります。式を埋め込むことができます。後で詳しく説明します!

JavaScript 文字列オブジェクトのプロパティ

JavaScriptの文字列には、いくつかのビルトインプロパティがあります。まるで自分自身のIDカードを持っていて、自分自身の情報を提供しているかのようです。最も一般的なものを見てみましょう:

length

length プロパティは、文字列にどれだけの文字があるか教えてくれます。

let myName = "Alice";
console.log(myName.length); // 出力: 5

ここで、myName.length は 5 です。"Alice" には 5 文字あります。

JavaScript 文字列オブジェクトメソッド

さて、文字列ができるクールな技を見てみましょう。これらはメソッドと呼ばれ、文字列が持つ特別な能力です。

以下是一些常见的文字列メソッドの表です:

メソッド 説明
toUpperCase() 文字列を大文字に変換 "hello".toUpperCase() は "HELLO" を返します
toLowerCase() 文字列を小文字に変換 "WORLD".toLowerCase() は "world" を返します
trim() 両端の空白を削除 " hi ".trim() は "hi" を返します
charAt(index) 指定されたインデックスの文字を返します "hello".charAt(1) は "e" を返します
indexOf(substring) 文字列の最初の文字列のインデックスを返します "hello".indexOf("l") は 2 を返します
slice(start, end) 文字列の一部を抽出 "hello".slice(1, 4) は "ell" を返します
replace(old, new) 指定された値を別の値に置換 "hello".replace("h", "j") は "jello" を返します

いくつかの例でこれらを深掘りしてみましょう:

toUpperCase() と toLowerCase()

let shout = "hello".toUpperCase();
console.log(shout); // 出力: HELLO

let whisper = "QUIET PLEASE".toLowerCase();
console.log(whisper); // 出力: quiet please

テキストメッセージアプリを構築していると、これらのメソッドは CAPS LOCK 機能を追加するか、ユーザー名を常に小文字で保存するのに役立ちます。

trim()

let untidy = "   spruce up   ";
let tidy = untidy.trim();
console.log(tidy); // 出力: "spruce up"

ユーザー入力を扱っているときに非常に便利です。ユーザーはしばしば意図せずにテキストの先頭や末尾にスペースを追加します。

charAt(index)

let word = "JavaScript";
console.log(word.charAt(4)); // 出力: S

プログラミングでは、0から始めて数えます。1から始めて数えるのではありません。したがって、5番目の文字はインデックス4です!

indexOf(substring)

let sentence = "The quick brown fox jumps over the lazy dog";
console.log(sentence.indexOf("fox")); // 出力: 16

これは "fox" が17文字目(0から数えて)から始まることを示しています。

slice(start, end)

let fruit = "apple,banana,cherry";
let banana = fruit.slice(6, 12);
console.log(banana); // 出力: banana

スライスは、文字列の一部を切り出すのに似ています。ここでは、fruit文字列から "banana" を切り出しています。

replace(old, new)

let oldSaying = "The early bird catches the worm";
let newSaying = oldSaying.replace("worm", "success");
console.log(newSaying); // 出力: The early bird catches the success

このメソッドは、文字列の簡単な変更に非常に便利です。

これら全てを合わせて、楽しい例を見てみましょう。私たちが簡単な名前タグジェネレーターを構築していると仮定します:

function createNameTag(name, role) {
let upperName = name.toUpperCase();
let trimmedRole = role.trim();
let tag = `Hello, my name is ${upperName} and I am a ${trimmedRole}`;
return tag;
}

let myTag = createNameTag("  alice  ", "  developer   ");
console.log(myTag); // 出力: Hello, my name is ALICE and I am a developer

この例では、toUpperCase() を使って名前を強調し、trim() を使って意図せぬスペースを削除し、テンプレートリテラル(バックティック)を使って文字列を簡単に組み合わせています。

文字列のHTMLラッパー

JavaScriptには、文字列をHTMLタグでラップするメソッドも提供されています。これらは、JavaScriptでHTMLコンテンツを生成する際に非常に便利です。いくつかの例を以下に示します:

let text = "Bold and Beautiful";
console.log(text.bold()); // 出力: <b>Bold and Beautiful</b>
console.log(text.italics()); // 出力: <i>Bold and Beautiful</i>
console.log(text.link("https://example.com")); // 出力: <a href="https://example.com">Bold and Beautiful</a>

しかし、これらのメソッドは非推奨されています。現代のウェブ開発では、直接DOMを操作するか、フレームワークを使用するのが一般的です。

そして、ここまでがJavaScriptの文字列の世界への初めてのステップです。実践が完璧を生むことを忘れないでください。これらのメソッドを試してみてください。すぐに複雑なプログラムを簡単に組み立てることができるようになるでしょう。ハッピーコーディング!

Credits: Image by storyset