前提・実現したいこと
JavaScript(TypeScript)で、文字列をフォーマットしたい。
※実際開発で使用しているのはTypeScriptになります。
例えばですが、
String.format('${name}です。${country}に住んでいます。', {name: "山田太郎", country: "日本"}); // 出来上がる文字列は、 『山田太郎です。日本に住んでいます。』 // ※ ${name} などの書き方は別の書き方かもしれません、あくまで例です。 // できれば、第2引数で渡すオブジェクト名とリンクしてくれると嬉しい。
のうようなフォーマット機能、あるいは実現できるライブラリはないのでしょうか?
javaなどだとあると思っているのですが、ちょっと調べた感じでは、
JavaScriptでは基本機能としても、ライブラリとしても提供されてないように思えました。
実際がどんな状況かというと、
jsonファイルでメッセージ一覧を管理し、このメッセージが上記のようなパラメータ含みで書かれており、
実際のコード上でログを出す際に適宜パラメータ部分を埋め込みたいというようなことになります。
※ メッセージ内容はこのjsonファイルを読み込んで取得するため、テンプレートリテラルで埋め込むということはできないと思っています。
試したこと
試したわけではないですが、ググった感じ自前でString.prototype.formに定義しようねといっ感じになっているなと認識しており、
他の言語では結構一般的にやりそうなのに、JavaScriptではみんな自前で用意してるの?
そもそも、こんな機能あまり求められてないの?
と不思議に思い質問冴えていただきました。