padStart()
是 JavaScript 字符串對象的一個方法,用于在字符串的開頭填充指定的字符,直到字符串達到指定的長度。這在需要對字符串進行格式化,使其保持固定長度時非常有用,比如在日期格式化時,確保月份、日期等為兩位數。
str.padStart(targetLength [, padString])
targetLength
:必需參數,指定字符串最終需要達到的長度。如果當前字符串的長度已經達到或超過這個長度,則不會進行填充,直接返回原字符串。padString
:可選參數,用于填充的字符串。如果省略該參數,則默認使用空格進行填充。如果填充字符串的長度超過了需要填充的長度,會將其截斷以適應所需的填充長度。
返回值
返回一個新的字符串,該字符串是在原字符串開頭填充了指定字符后達到指定長度的結果。
基本使用示例
const num = '5';
const paddedNum = num.padStart(2, '0');
console.log(paddedNum); // 輸出: "05"
在這個例子中,原字符串 '5'
長度為 1,我們希望它達到長度 2,使用 '0'
進行填充,最終得到字符串 '05'
。
省略 padString
參數的示例
const str = 'abc';
const paddedStr = str.padStart(5);
console.log(paddedStr); // 輸出: " abc"
這里省略了 padString
參數,默認使用空格進行填充,原字符串 'abc'
長度為 3,要達到長度 5,就在開頭填充了兩個空格。
padString
長度超過所需填充長度的示例
const text = 'x';
const paddedText = text.padStart(3, 'abc');
console.log(paddedText); // 輸出: "abx"
這里填充字符串 'abc'
長度為 3,但只需要填充 2 個字符,所以截取了 'abc'
的前兩個字符進行填充。
在日期格式化中的應用
在日期格式化時,我們經常需要確保月份、日期等為兩位數,這時 padStart()
方法就非常實用。
const date = new Date();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const formattedDate = `${date.getFullYear()}-${month}-${day}`;
console.log(formattedDate);
在這個例子中,我們獲取了當前日期的月份和日期,將其轉換為字符串后,使用 padStart()
方法確保它們是兩位數,最后組合成 YYYY-MM-DD
格式的日期字符串。
兼容性
padStart()
方法在 ES2017(ES8)中被引入,現代瀏覽器(如 Chrome 57+、Firefox 51+、Safari 10.1+、Edge 15+ 等)和 Node.js 8.0.0 及以上版本都支持該方法。如果需要在舊版本的環境中使用,可以考慮使用墊片(polyfill)來實現相同的功能。