JavaScript で Printf または String.Format の代替
この記事では、JavaScript での printf
または String.Format
の代替について説明します。
printf
は、C
、PHP
、Java
などのほとんどのプログラミング言語で使用される関数です。この標準出力関数を使用すると、コンソールに文字列またはステートメントを出力できます。
ただし、JavaScript では printf
を使用できないため、その代替手段が必要です。これについては、ここで説明します。それとは別に、出力フォーマットをカスタマイズするためにフォーマット指定子を使用することがあります。
JavaScript で console.log()
を使用する
ここでの 1つのオプションは、console.log
を使用してコンソールに何かを出力することです。これは ES6 の更新後に利用可能になり、その動作は printf
の動作に非常に精通しています。
console.log
は非常に簡単で、開発者の間で確かに最も一般的です。JavaScript での console.log
の動作を理解するために、次のコードセグメントを見てみましょう。
function example() {
let i = 5;
console.log(i);
}
example();
このコードセグメントで let
キーワードを使用して変数を宣言し、コンソールに出力しました。したがって、console.log(i)
を使用して変数 i
の値を取得し、コンソール画面に出力します。
文字列またはランダムなテキストを出力する場合は、次の方法で console.log
を使用できます。
function example() {
console.log('Hello');
}
example();
このコードセグメントでは、ご覧のとおり、console.log
を使用して、出力したいテキストを'
内に入力しました。JavaScript で console.log
を使用して通常のテキストアイテムを出力する方法です。
これは、console.log
が printf
の最もシンプルで簡単な代替手段であることを示しています。ただし、出力の形式をカスタマイズする場合は、カスタムプロトタイプを作成して、String.Format
機能を作成できます。
例として、次のコードセグメントを見ることができます。
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined' ? args[number] : match;
});
};
console.log(
'{0} was used as placeholder, furthermore {1} is used as the second argument {0} {2}'
.format('C language', 'C sharp'));
このコードセグメントの各 JavaScript 文字列オブジェクトにアタッチされたカスタムプロトタイプ関数を作成しました。format 関数が行うことは、文字列を取得して {}
を検索し、その中の数値をそのインデックスで提供される引数に置き換えることです。
したがって、{0}
は C language
に置き換えられ、{1}
は C sharp
に置き換えられます。ただし、{2}
プレースホルダーに対して実行する引数を提供していないため、{2}
はそのままです。
また、3 番目の引数を指定すると、角かっこ {2}
が 3 番目の引数に置き換えられます。カスタムの String.prototype.format
関数を理解するのに役立つかもしれません。