web-dev-qa-db-ja.com

TypeScriptの文字列補間、「プレースホルダー」を変数に置き換え

私はこのトピックについて十分明確な答えを見つけることができないようですので、私は質問をしています:

C#では、たとえば次のことができます。

var text = "blah blah";
var strTest = String.Format("This is a {0}", text); //output: 'This is a blah blah'

Typescriptでこれをどのように達成しますか?

使用法:

Environment.tsファイルからURLを読み込んでいます。この文字列URLにはプレースホルダーを含める必要があり、サービスレイヤーで、プレースホルダーを実際に渡す必要のあるパラメーターに置き換えます。

3
monstertjie_za

テンプレート文字列 を使用してください。これは、インデックス付けの問題(プレースホルダーの誤り)の問題の影響を受けないため、String.Formatよりもはるかに優れています。

var text = "blah blah";
var strTest = `This is a ${text}`;
console.log(strTest);

渡す必要がある変数の名前がわからない場合は??

次に、関数をラップします。

const gen = (text) => `This is a ${text}`;
12
basarat

environments.tsファイルで匿名ジェネレーター関数を使用することをお勧めします。これにより、必要な変数を渡し、この関数内にテンプレート文字列を含めることができます。このようなもの:

environment.ts

 export const thisIsA = (str: string) => `This is a ${str}`;

その他のファイル:

import * as env from `environments';

var text = "blah blah";
var strTest = env.thisIsA(text); //output: 'This is a blah blah'
7
Cerberus