--- title: String.prototype.padStart() slug: Web/JavaScript/Reference/Global_Objects/String/padStart tags: - JavaScript - Method - Reference - String translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart ---
{{JSRef}}

padStart() 메서드는 현재 문자열의 시작을 다른 문자열로 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 시작(좌측)부터 적용됩니다.

 

{{EmbedInteractiveExample("pages/js/string-padstart.html")}}

 

구문

str.padStart(targetLength [, padString])

매개변수

targetLength
목표 문자열 길이. 현재 문자열의 길이보다 작다면 채워넣지 않고 그대로 반환.
padString {{optional_inline}}
현재 문자열에 채워넣을 다른 문자열. 문자열이 너무 길어 목표 문자열 길이를 초과한다면 좌측 일부를 잘라서 넣음. 기본값은 " ". (U+0020)

반환값

시작점부터 주어진 문자열로 채워 목표 길이를 만족하는 {{jsxref("String")}}.

예시

'abc'.padStart(10);         // "       abc"
'abc'.padStart(10, "foo");  // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0");     // "00000abc"
'abc'.padStart(1);          // "abc"

폴리필

다른 모든 코드 이전에 아래 코드를 포함하면 지원하지 않는 플랫폼에서도 String.prototype.padStart() 메서드를 사용할 수 있습니다.

// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/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);
        }
    };
}

명세

Specification Status Comment
{{SpecName('ESDraft', '#sec-string.prototype.padstart', 'String.prototype.padStart')}} {{Spec2('ESDraft')}} Initial definition in ECMAScript 2017.
{{SpecName('ES8', '#sec-string.prototype.padstart', 'String.prototype.padStart')}} {{Spec2('ES8')}}  

브라우저 호환성

{{Compat("javascript.builtins.String.padStart")}}

같이 보기