Javaスクリプト文字列形式:例付きメソッド

⚡ スマートサマリー

JavaScript String Format は、文字列を組み立てるために、テンプレートリテラル、プラス演算子、カスタム関数、連結ヘルパー、concat メソッド、正規表現の 6 つの方法を使用します。 Less構文、例、比較表について説明します。

  • 🪄 テンプレートリテラル: バッククォートで囲まれた文字列と${expr}プレースホルダーは、現代のデフォルトです。
  • Plus Operaトール: 古典的な「Hello」+名前のアプローチは、あらゆるJSランタイムで機能します。
  • 🛠️ カスタム機能: %sトークンを置き換える小さなヘルパー関数を使用して、Cスタイルのprintfを模倣します。
  • 🔗 concat メソッド: str1.concat(str2, str3) は演算子なしで文字列を結合します。
  • 🔍 正規表現置換: テンプレート化のためにキャプチャグループを使用してString.prototype.replaceを実行します。
  • 🤖 AIスニペット支援: AIツールは、プラス記号の連鎖を読みやすいテンプレートリテラルに変換します。

Javaスクリプト文字列の形式

何ですか Javaスクリプト文字列の形式?

Javaスクリプト文字列形式とは、定義された形式で文字列を操作およびフォーマットするために使用できるアプローチを指します。これは、アプリケーションに表示されるテキストを制御できるようにする、あらゆるプログラミング言語の重要な機能です。

あなたの中で Javaスクリプトコードでは、文字列の書式設定により複雑なデータをシンプルに変換できます。また、出力の可読性が向上し、コードの保守性が向上します。さらに、適切にフォーマットされた Javaスクリプト文字列は、アプリケーションのユーザー エクスペリエンスを向上させる役割も果たします。

文字列をフォーマットする方法 Javaスクリプト?

文字列をフォーマットするには Javaスクリプトの場合は、提供されている手順に従います。

ステップ1) まず、文字列に含めるデータを決定する必要があります。

ステップ2) 次に、JS で文字列をフォーマットする方法を選択します。

ステップ3) それに応じて実装用のコードを記述します。

ステップ4) コードをテストして、期待どおりの出力が生成されることを確認します。

ステップ5) 追加の書式設定のニーズや要件を満たすようにコードを更新または変更します。

ステップ6) 保守性と読みやすさのためにコードをリファクタリングします。

Javaスクリプトには、書式付き文字列を組み立てるための複数の方法が用意されており、それぞれ異なるシナリオに適しています。

さまざまな文字列フォーマット方法 Javaスクリプト

文字列をフォーマットする方法は複数あります Java連結演算子、テンプレートリテラル、正規表現などを含むスクリプト。

次のセクションでは、次のアプローチについて説明します。

  • {} Brackets バッククォート付き
  • "+" Operaタ
  • カスタム関数の文字列の書式設定
  • 連結演算子
  • テンプレートリテラル
  • 正規表現
  • カスタム機能
  • 三項演算子

方法 1: {} を使用する Brackets バックティックを使用して文字列をフォーマットする Javaスクリプト

この方法では、次を使用できます template 追加によるリテラル バックティック (`) を使用して文字列を囲みます。次に、ドル記号「$」を先頭に付けた括弧 {} 内に文字列引数の変数を挿入します。これらのテンプレートを使用すると、文字列リテラル内に式を埋め込むことができます。

この操作は、プレースホルダーと呼ばれる変数と他の定義済みの値を連結するのに役立ちます。結果として、プレースホルダーの値を補間することによって、最終的なフォーマットされた文字列が得られます。

たとえば、次の XNUMX つの変数を作成しました。"と"id” と入力し、フォーマットされた出力を生成するためにバッククォートで囲みます。 「」に注意してください。${}” 構文は、式を文字列に埋め込むために使用されます。

Code:

const name = "Jenny";
const id = 1;
console.log (`Welcome ${name}, your ID is ${id}`);

プレースホルダーの「name」と「id」の値が表示されていることがわかります。これは、文字列の補間が正常に実行されたことを意味します。

出力:

Welcome Jenny, your ID is 1

方法 2: + を使用する Opera文字列をフォーマットする Javaスクリプト

XNUMX 番目のアプローチは、 連結演算子 +” 基本的な書式設定文字列 Javaスクリプト。この方法では、個々の変数と文字列を連結して、目的の出力を生成します。

たとえば、同じ変数値を連結するために「+」演算子を使用し、「console.log()」メソッドはコンソールにフォーマットされた文字列を返します。

Code:

const name = "Jenny";
const id = 1;
console.log("Welcome " + name + ", your ID is " + id);

出力:

Welcome Jenny, your ID is 1

方法3: カスタム関数の文字列フォーマット Javaスクリプト

あなたの中で Javaスクリプトプログラム、カスタム関数の文字列フォーマット アプローチを使用することもできます。この手法では、関数は必要な変数を受け入れ、フォーマットされた文字列を返します。このフォーマット関数は、非常に柔軟性に優れています。また、カスタムまたは複雑なフォーマット要件を満たすために使用することもできます。

ここでは、「」という名前のカスタム形式関数を作成しました。ようこそメッセージ()” XNUMX つの変数を受け入れます”"と"id”を引数として指定し、テンプレート文字列リテラルを利用して書式設定された文字列を出力します。

その後、必要な変数を定義し、カスタム形成関数呼び出しの形式で渡しました。

Code:

function welcomeMsg(name, id) {
  return `Welcome ${name}, your ID is ${id}`;
}
const name = "Jenny";
const id = 1;
const msg = welcomeMsg(name, id);
console.log(msg);

出力:

Welcome Jenny, your ID is 1

方法4: 書式文字列の連結を使用する Javaスクリプト

連結 文字列をフォーマットするために利用される簡単な方法です Javaスクリプト。このアプローチでは、文字列変数または複数の文字列を連結演算子「+”。 この手法は、単純な文字列連結タスクにも使用できます。

提供された例では、変数「ファーストネーム"と"苗字” は “+” 演算子の助けを借りて連結され、 “fullName”という文字列は以下のようになります。

Code:

var firstName = "Alex";
var lastName = "Edward";
var fullName = firstName + " " + lastName;
console.log(fullName);

出力:

Alex Edward

方法5: 書式文字列にテンプレートリテラルを使用する Javaスクリプト

テンプレート文字列 としても知られています テンプレートリテラル より表現力豊かで高度な文字列の書式設定方法を提供します Javaスクリプト。表現や variables プレースホルダー「」を使用して文字列内で$ {式}"。

さらに、テンプレート リテラルは複数行の文字列もサポートします。

Code:

var name = "Alex";
var age = 30;
var msg = `Hi, ${name}! You are ${age} years old.`;
console.log(msg);

上の例では、変数「」を直接補間しました。"と"年齢” プレースホルダーを利用して文字列内に”${}” をテンプレート リテラルのバッククォート (`) 内に含めます。

出力:

Hi, Alex! You are 30 years old.

方法6: 正規表現を使用して文字列をフォーマットする Javaスクリプト

In Javaスクリプトコード、 正規表現 は、文字列操作やパターンマッチングに使用される強力なツールです。さらに、指定されたパターンを見つけて定義済みの値に置き換えるためにも使用されます。この操作は、「交換する ()" 方法。

以下のプログラムをチェックしてください。 replace () メソッドは、プレースホルダーを置き換える XNUMX つの正規表現とともに使用されています。[名前]"と"[ID]」をそれぞれの値に置き換えます。

Code:

let name = "Jenny";
let id = 1;
let message = "Welcome [name], your ID is [id]".replace(/\[name\]/g, name).replace(/\[id\]/g, id);
console.log(message);

これにより、新しい文字列オブジェクトが作成され、「メッセージ” 変数が出力としてコンソールに記録されます。

出力:

Welcome Jenny. Your ID is 1

方法7: 書式文字列にカスタム関数を使用する Javaスクリプト

より再利用性が高くカスタマイズされた文字列フォーマットを作成することもできます。 Javaスクリプト。これを行うには、新しい カスタム関数 文字列とその他のパラメータを受け入れます。これを呼び出してプレースホルダを置き換えたり、カスタム書式設定ルールを適用したりできます。この手法は、複雑な書式設定シナリオでのカスタマイズされた書式設定もサポートします。

ここでは、「」という名前の新しいカスタム関数形式を作成しました。フォーマット文字列「」を受け入れるstring"と"paramsは"(配列 パラメータの) を引数として使用します。

関数本体内で、「置換()「プレースホルダーを正規表現で置き換える方法」0 {}, 1 {}」をパラメータ配列のそれぞれの値に置き換えます。

Code:

function formatString(string, params) {
  return string.replace(/{(\d+)}/g, (match, index) => {
    return typeof params[index] !== 'undefined' ? params[index] : match;
  });
}
var name = "Alex";
var age = 30;
var formattedMsg = formatString("Hi, {0}! You are {1} years old.", [name, age]);
console.log(formattedMsg); 

出力:

Hi, Alex! You are 30 years old.

方法 8: XNUMX 進法の使用 Opera文字列をフォーマットする Javaスクリプト

Javaスクリプト 三項演算子 は、文字列に条件式を記述するための簡略的な方法です。 ただし、指定されたブール式に従って XNUMX つの値のうち XNUMX つを条件付きで選択し、文字列を返すことにより、文字列の書式設定に使用することもできます。

構文:

condition ? expressionIfTrue : expressionIfFalse

三項演算子を使用して文字列オブジェクトにフォーマットするサンプル コードをご覧ください。

Code:

let name = "Jenny";
let isAdmin = true;
let msg = `Welcome ${name}${isAdmin ? ", you are an admin" : ""}`;
console.log(msg);

出力:

Welcome Jenny, you are an admin

ここでは XNUMX つの変数を定義しました。"と"管理者です” と値”ジェニー"と"true"、 それぞれ。

その後、三項演算子を使用して条件付きで文字列「、あなたは管理者です前述のように、オプションのパラメータ「isAdmin」の値が true の場合、メッセージ文字列に「」を追加します。

個々の手法の説明の後、それぞれの手法を並べて比較することで、いつ、どのように使用すべきかが明確になります。

の比較 Javaスクリプト文字列フォーマットメソッド

ここでは、上で説明した利点と欠点を挙げました。 Javaスクリプト文字列のフォーマット方法:

方法 優位性 デメリット
Brackets {} バッククォート (`) 付き • 使いやすい。
• 簡潔で読みやすいコード。
より複雑な書式設定要件には適さない可能性があります。
「+」演算子 わかりやすい。 より複雑な書式設定要件には非効率的になる可能性があります。
文字列フォーマット用のカスタム関数 多くの柔軟性を提供します。 さらなるコーディング作業が必要です。
連結 Operaタ シンプルで広く支持されています。 複雑な文字列の書式設定には面倒です。
テンプレートリテラル • 複数行の文字列をサポートします。
• Readable そして直感的な構文。
書式設定オプションの制御が制限されています。
正規表現 多くの柔軟性を提供します。 他の方法と比較すると、実装とメンテナンスが異なります。
カスタム機能 多くの柔軟性を提供します。 カスタム関数を作成および維持するには追加のコーディングが必要です。
三項演算子 null または未定義の値を処理するための簡潔な方法。 より複雑な書式設定要件には適さない可能性があります。

方法の選択は、特定のユースケースと関連する要件に大きく依存することに注意してください。 Javaスクリプトコード。

よくあるご質問

テンプレートリテラルは、現代において推奨される選択肢です。複数行テキスト、${expr}による補間、タグ付きテンプレートをサポートし、プラス連結よりも高速に動作します。

はい。CopilotのようなAIアシスタントは、プラスチェーン連結をテンプレートリテラルに書き換え、潜在的なXSSリスクを警告し、ユーザー入力が関係する場合により安全なフォーマットライブラリを推奨します。

AIツールは、長いテンプレートリテラルを複数行に分割することを提案し、名前付きプレースホルダーを推奨し、ローカライズとエスカレーションのためのタグ付きテンプレートヘルパーを提案します。ping.

テンプレートリテラルは、${expr} プレースホルダーとともにバッククォートを使用し、複数行の文字列をサポートします。文字列連結は、+ または concat() で行います。テンプレートの方が通常は高速です。

いいえ。現代的 Javaスクリプトエンジンは、連結処理とconcat()関数の両方を最適化します。テンプレートリテラルは、通常、この3つの中で最も高速です。

padStart(targetLength, padString) は、文字列が目標の長さに達するまで、パディング文字列を先頭に追加します。日付、ID、タイマーなどの数値をゼロ埋めする場合に便利です。

単独ではうまくいきません。ユーザーが制御する値をHTML、SQL、またはシェル文字列に連結する場合は、タグ付きテンプレートまたはサニタイズライブラリを挿入してください。

テンプレートリテラルは、 Python f文字列。どちらも式をインラインで補間し、複数行のテキストをサポートし、冗長な連結を回避します。