[JS]文字列の書式設定出力はどのようにカスタマイズしますか?

846 ワード

他の言語でよく見られる文字列フォーマット出力は、Javascriptには跡形がないので、自分でこの方法を実現することを決めました.以下は個人の作成の一番簡潔な実現です.
String.prototype.format = function(){

    var args = arguments;

    return this.replace(/\{(\d+)\}/gm, function(ms, p1){return typeof(args[p1]) == 'undefined' ? ms : args[p1]});

}
 
適用例:
>>> "{0} is not {1}".format("Linux", "Unix")

"Linux is not Unix"