この記事は 2021 年 09 月 18 日に投稿しました。
目次
リンク
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