プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

JavaScript で文字列をフォーマットを行う

この記事は 2021 年 09 月 18 日に投稿しました。

f:id:paveway:20190914064630j:plain

目次

  1. はじめに
  2. JavaScript で文字列をフォーマットを行う
  3. おわりに

1. はじめに

こんにちは、iOS のエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用している JavaScript で文字列をフォーマットを行う方法についてです。

目次へ

2. JavaScript で文字列をフォーマットを行う

JavaScript で文字列をフォーマットを行うには、以下の様な実装にします。

実行例

// 文字列をフォーマットするタグ関数
// 文字列中の${0}, ${1}, ... ${n}に後から文字列を埋め込みます。
//
// 引数
//   strings: keysで分割された文字列の配列
//   keys: 可変長引数の文字列
// 戻り値: 元の文字列に可変長引数の文字列が埋め込まれた文字列
function format(strings, ...keys) {
  return function(...values) {
    // 返却する文字列を格納する配列
    // 先頭に分割された元の文字列の先頭を設定します。
    const results = [strings[0]];
    
    // 可変長引数を順番に処理します。
    keys.forEach(function(key) {
      // 可変長引数の値を取得します。
      const value = values[key];
      
      // 返却する文字列の配列に可変長引数の値と
      // 分割された元の文字列の2つ目以降の文字列を追加します。
      results.push(value, strings[key + 1]);
    });
    
    // 返却用文字列の配列を空文字列で結合して1つの文字列として返却します。
    return results.join('');
  };
}

const message = format`My name is ${0}. I live in ${1}`;
console.log(message("Taro", "Tokyo"));

実行結果

"My name is Taro. I live in Tokyo"

参考サイト

JavaScript で String.format したい

目次へ

3. おわりに

Javascriptで他の言語にある様なString.Formatのような関数はないようです。
そのため自分で実装しないといけないようです。

紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。

目次へ


私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッド OS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOS モバイルアプリウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。

また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。

EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688

目次へ