String.prototype.trimStart()

trimStart() 메서드는 문자열 시작부분의 공백을 제거합니다. 또한 trimLeft()라는 별칭으로 호출이 가능합니다.

시도해보기

구문

js
trimStart();

trimLeft();

반환값

str 시작부분(왼쪽)에서 공백이 제거된 새 문자열을 반환합니다. str 에 공백이 없을시에도 에러가 발생하지 않고 여전히 새 문자열(본질적으로 str 의 복사본)이 반환됩니다.

별칭

String.prototype.padStart 표준 메서드 이름과 같은 함수의 일관성을 위해서 trimStart 가 되었습니다. 그러나, 웹 호환성을 위해서 trimLeft 이라는 별칭을 가집니다. 일부 엔진에서 이것은 다음 예시를 의미합니다.

js
String.prototype.trimLeft.name === "trimStart";

예제

trimStart() 사용

다음 예제는 'foo ' 문자열을 표시합니다.

js
var str = "   foo  ";

console.log(str.length); // 8

str = str.trimStart();
console.log(str.length); // 5
console.log(str); // 'foo  '

폴리필

js
//https://github.com/FabioVergani/js-Polyfill_String-trimStart

(function (w) {
  var String = w.String,
    Proto = String.prototype;

  (function (o, p) {
    if (p in o ? (o[p] ? false : true) : true) {
      var r = /^\s+/;
      o[p] =
        o.trimLeft ||
        function () {
          return this.replace(r, "");
        };
    }
  })(Proto, "trimStart");
})(window);

/*
ES6:
(w=>{
    const String=w.String, Proto=String.prototype;

    ((o,p)=>{
        if(p in o?o[p]?false:true:true){
            const r=/^\s+/;
            o[p]=o.trimLeft||function(){
                return this.replace(r,'')
            }
        }
    })(Proto,'trimStart');

})(window);
*/

명세서

Specification
ECMAScript Language Specification
# sec-string.prototype.trimstart

브라우저 호환성

BCD tables only load in the browser

같이 보기