padStart

  • 현재 문자열의 시작(왼쪽)부터 원하는 문자열(padString)로 추가해, 총 길이가 지정한 길이(targetLength)만큼되는 새로운 문자열을 반환한다.
  • 문법: str.padStart(targetLength [, padString])
    • targetLength가 str의 문자열 길이보다 작을 경우 그대로 반환한다.
    • padString의 길이가 targetLength보다 길면 총 길이에 맞게 padString의 앞일부분만 추가된다. 지정하지 않을 경우는 공백(“ “)으로 채워진다.
  • IE에서 작동하지 않는다.
"abc".padStart(10, "ABC");  // 'ABCABCAabc'
"abc".padStart(6, "1");     // '111abc'
"abc".padStart(6,"123465"); // '123abc'
"abc".padStart(10);         // '       abc'
"abc".padStart(1);          // 'abc'
  • 폴리필
    다른 모든 코드 이전에 아래 코드를 포함하면 지원하지 않는 플랫폼에서도 String.prototype.padStart() 메서드를 사용할 수 있다.
if (!String.prototype.padStart) {
    String.prototype.padStart = function padStart(targetLength,padString) {
        targetLength = targetLength>>0; //truncate if number or convert non-number to 0;
        padString = String((typeof padString !== 'undefined' ? padString : ' '));
        if (this.length > targetLength) {
            return String(this);
        }
        else {
            targetLength = targetLength-this.length;
            if (targetLength > padString.length) {
                padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
            }
            return padString.slice(0,targetLength) + String(this);
        }
    };
}

padEnd

  • 현재 문자열의 끝(오른쪽)부터 원하는 문자열(padString)로 추가해, 총 길이가 지정한 길이(targetLength)만큼되는 새로운 문자열을 반환한다.
  • 문법: str.padEnd(targetLength [, padString])
    • targetLength가 str의 문자열 길이보다 작을 경우 그대로 반환한다.
    • padString의 길이가 targetLength보다 길면 총 길이에 맞게 padString의 앞일부분만 추가된다. 지정하지 않을 경우는 공백(“ “)으로 채워진다.
  • IE에서 작동하지 않는다.
"abc".padEnd(10, "ABC");  // 'abcABCABCA'
"abc".padEnd(6, "1");     // 'abc111'
"abc".padEnd(6,"123465"); // 'abc123'
"abc".padEnd(10);         // 'abc       '
"abc".padEnd(1);          // 'abc'
  • 폴리필
    다른 모든 코드 이전에 아래 코드를 포함하면 지원하지 않는 플랫폼에서도 String.prototype.padStart() 메서드를 사용할 수 있다.
if (!String.prototype.padEnd) {
    String.prototype.padEnd = function padEnd(targetLength,padString) {
        targetLength = targetLength>>0; //floor if number or convert non-number to 0;
        padString = String((typeof padString !== 'undefined' ? padString : ' '));
        if (this.length > targetLength) {
            return String(this);
        }
        else {
            targetLength = targetLength-this.length;
            if (targetLength > padString.length) {
                padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
            }
            return String(this) + padString.slice(0,targetLength);
        }
    };
}