如何通过String.prototype.repeat实现缩进格式的调试日志输出?
- 内容介绍
- 相关推荐
本文共计922个文字,预计阅读时间需要4分钟。
`String.prototype.repeat` 是最直接的缩进构造方式,它不包含、不循环、不依赖空格和硬编码字符。传入一个非负整数即可返回重复多次的字符串,例如:
注意:参数必须是整数," ".repeat(2.5) 会静默截断为 " ".repeat(2);负数或 Infinity 会抛出 RangeError;NaN 或 undefined 会被转成 0,结果为空字符串。
常见错误是误以为能传入字符串模板,比如 "\t".repeat(level) 看似合理,但制表符在不同终端缩进宽度不一致,日志对齐可能错乱——调试日志应优先用空格保证可预测性。
嵌套调用时避免重复计算缩进层级
在递归结构(如对象深遍历、AST 打印)中,容易在每次递归里重复写 " ".repeat(depth)。
本文共计922个文字,预计阅读时间需要4分钟。
`String.prototype.repeat` 是最直接的缩进构造方式,它不包含、不循环、不依赖空格和硬编码字符。传入一个非负整数即可返回重复多次的字符串,例如:
注意:参数必须是整数," ".repeat(2.5) 会静默截断为 " ".repeat(2);负数或 Infinity 会抛出 RangeError;NaN 或 undefined 会被转成 0,结果为空字符串。
常见错误是误以为能传入字符串模板,比如 "\t".repeat(level) 看似合理,但制表符在不同终端缩进宽度不一致,日志对齐可能错乱——调试日志应优先用空格保证可预测性。
嵌套调用时避免重复计算缩进层级
在递归结构(如对象深遍历、AST 打印)中,容易在每次递归里重复写 " ".repeat(depth)。

