String.prototype.trimStart()

trimStart() メソッドは、文字列の先頭のホワイトスペースを削除します。 trimLeft() はこのメソッドのエイリアスです。

構文

str.trimStart();
str.trimLeft();

返値

呼び出した文字列から先頭 (左端) からホワイトスペースを削除した新しい文字列です。

解説

trimStart()trimLeft() メソッドは、左端のホワイトスペースを取り除いた文字列を返します。 trimLeft() または trimStart() は元の文字列自身の値に影響を与えません。

エイリアス

String.prototype.padStart のような関数との一貫性を持たせるため、標準メソッドの名前は trimStart となっています。しかし、ウェブの互換性の観点から、 trimLefttrimStart のエイリアスとして残されます。エンジンによっては、以下のように解釈されます。

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

trimStart() の使用

以下の例では、小文字の文字列 'foo  ' を表示します。

var str = '   foo  ';

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

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

ポリフィル

//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);
*/

仕様書

仕様書
ECMAScript (ECMA-262)
String.prototype.trimStart の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
trimStartChrome 完全対応 66
完全対応 66
完全対応 4
代替名
代替名 非標準の名前 trimLeft を使用しています。
Edge 完全対応 12
代替名
完全対応 12
代替名
代替名 非標準の名前 trimLeft を使用しています。
Firefox 完全対応 61
完全対応 61
完全対応 3.5
代替名
代替名 非標準の名前 trimLeft を使用しています。
IE 未対応 なしOpera 完全対応 53
完全対応 53
完全対応 15
代替名
代替名 非標準の名前 trimLeft を使用しています。
Safari 完全対応 12WebView Android 完全対応 66
完全対応 66
完全対応 ≤37
代替名
代替名 非標準の名前 trimLeft を使用しています。
Chrome Android 完全対応 66
完全対応 66
完全対応 18
代替名
代替名 非標準の名前 trimLeft を使用しています。
Firefox Android 完全対応 61
完全対応 61
完全対応 4
代替名
代替名 非標準の名前 trimLeft を使用しています。
Opera Android 完全対応 47
完全対応 47
完全対応 14
代替名
代替名 非標準の名前 trimLeft を使用しています。
Safari iOS 完全対応 12Samsung Internet Android 完全対応 9.0
完全対応 9.0
完全対応 1.0
代替名
代替名 非標準の名前 trimLeft を使用しています。
nodejs 完全対応 10.0.0
完全対応 10.0.0
完全対応 0.12
代替名
代替名 非標準の名前 trimLeft を使用しています。

凡例

完全対応  
完全対応
未対応  
未対応
非標準の名前を使用しています。
非標準の名前を使用しています。

関連情報