JavaScript 等價於 Printf 或 String.Format 的函式

Tahseen Tauseef 2023年10月12日
JavaScript 等價於 Printf 或 String.Format 的函式

本文將描述 JavaScript 中 printfString.Format 的替代方案。

printf 是我們在大多數程式語言中使用的函式,例如 CPHPJava。此標準輸出功能允許你在控制檯上列印字串或語句。

但是在 JavaScript 中,我們不能使用 printf,所以我們需要它的替代品,我們將在這裡討論。除此之外,我們有時會使用格式說明符來自定義輸出格式。

在 JavaScript 中使用 console.log()

這裡的一種選擇是使用 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.logprintf 的最簡單和容易的替代品。但是如果你想自定義輸出的格式,那麼我們可以建立一個自定義原型來建立 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 字串物件。格式函式的作用是獲取字串並查詢 {},並將其中的數字替換為該索引處提供的引數。

因此,{0}C language 替換,{1}C sharp 替換。但是 {2} 保持原樣,因為我們沒有為 {2} 佔位符提供任何引數。

如果你提供第三個引數,括號 {2} 將替換為第三個引數。它可能有助於你理解自定義 String.prototype.format 函式。

相關文章 - JavaScript String