
trimは全角スペースも削除する
Rubyなどの言語だとtrimを使用すると全角スペースは削除しないが、JavaScriptだと全角スペースも削除される。
Rubyを書く人だとJavaScriptも書く人が結構多いので注意が必要だ。
const str = ' foo ' const strTrim = str.trim() console.log(`「${str}」`) // => 「 foo 」 console.log(`「${strTrim}」`) // => 「foo」
全角スペースは削除しないようにする
全角スペースは削除しないようにするにはtrim()の全角スペースを削除しない版のtrimRuby()のようなメソッドを作成すれば良い。
String.prototype.trimRuby = function () { return this.replace(/^[ \r\n\t\uFEFF\xA0]+|[ \t\r\n\uFEFF\xA0]+$/g, ''); }; const str = ' foo ' const strTrim = str.trimRuby() console.log(`「${str}」`) // => 「 foo 」 console.log(`「${strTrim}」`) // => 「foo 」