Syntax
str.padStart(targetLength, padString)
str.padEnd(targetLength, padString)
str.repeat(count)Examples
Padding Numbers
A common use case: formatting numbers with leading zeros.
console.log("5".padStart(2, "0")); // "05"
console.log("42".padStart(5, "0")); // "00042"
console.log("7".padEnd(3, "*")); // "7**"
// Formatting a countdown timer
function formatTime(minutes, seconds) {
return `${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}`;
}
console.log(formatTime(3, 5)); // "03:05"repeat()
Repeating a string a specified number of times.
console.log("ab".repeat(3)); // "ababab"
console.log("-".repeat(20)); // "--------------------"
// Simple indentation helper
function indent(text, level) {
return " ".repeat(level) + text;
}
console.log(indent("nested item", 2)); // " nested item"Best practices
- Use padStart() for right-aligning content like numbers, and padEnd() for left-aligning content like table columns
- Convert numbers to strings first with String() before padding, since pad methods only work on strings
- Use repeat() for generating separator lines, indentation, or simple ASCII visualizations
- Watch out for negative or non-integer arguments to repeat() - they throw a RangeError
Runtime & versions
Browsers and JavaScript runtimes. Feature availability depends on the language and runtime version used by your project; consult the official reference below.
ECMAScript specification