⭐️ ES2017(ES8)新特性
String.prototype.padStart()
方法用另一个字符串填充当前字符串(重复,如果需要的话),以便产生的字符串达到给定的长度。填充从当前字符串的开始(左侧)应用的。
语法:
str.padStart(maxLength [, fillString]);
类型声明:
interface String {padStart(maxLength: number, fillString?: string): string;}
参数说明:
参数 | 说明 | 类型 |
---|---|---|
maxLength | 当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。 | number |
fillString | (可选)填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。 | string |
const str = 'abc';str.padStart('1');// 'abc'str.padStart('10');// ' abc'str.padStart('6', '123456');// '123abc'str.padStart('10', 'foo');// 'foofoofabc'
if (String.prototype.padStart) {String.prototype.padStart = function padStart(maxLength, fillString) {maxLength = maxLength >> 0;fillString = String(typeof fillString !== 'undefined' ? fillString : '');if (this.length > maxLength) {return String(this);} else {maxLength = maxLength - this.length;if (maxLength > fillString.length) {fillString += fillString.repeat(maxLength / fillString.length);}return fillString.slice(0, maxLength) + String(this);}};}