最近、JavaScriptを使う機会があり、新しいStringメソッドがあることを知りました。
どうやら私が知っているJavaScriptはChromeの最初のバージョンの時点のもののようです。
追加されたStringメソッドについて調べてみました。
スプレッド構文
Chrome46
メソッドではないですが、配列に関して便利な書き方ができるようになっていました。
配列を展開する構文です。
b = [1, 9];
c = [a, b];
console.log(c);
// [[2, 5, 7], [1, 9]]
c = [...a, ...b];
console.log(c);
// [2, 5, 7, 1, 9]
テンプレートリテラル
Chrome41
これもメソッドではないですが、文字列の扱いに関して便利な書き方ができるようになっていました。
変数を含む文が簡単に書けます。
バッククォートを使うのがポイントです。Shift+@で出ます。
t = `値は${x}です。`;
console.log(t);
// 値は99です。
endsWith
Chrome41
「○○で終わる文字列」かどうかを判定します。
「ends」であることに注意。
result = str.endsWith("府");
console.log(result);
// true
includes
Chrome41
「○○を含む文字列」かどうかを判定します。
result = str.includes("千代田区");
console.log(result);
// true
matchAll
Chrome73
正規表現に合致する文字列をまとめて取得できます。
result = str.matchAll(/(\D+)(\d+)/g);
console.log(result);
//RegExpStringIterator {}
console.log([...result][2][1]);
//ki
padEnd
Chrome57
右側にゼロ埋めします。
文字列が対象なので数値の場合はtoString()で文字列に変換してから使います。
result = n.toString().padEnd(3, "0");
console.log(result);
// 500
<h3>padStart</h3>
Chrome57
左側にゼロ埋めします。
文字列が対象なので数値の場合はtoString()で文字列に変換してから使います。
[cc lang="javascript"]
n = 5;
result = n.toString().padStart(3, "0");
console.log(result);
// 005
repeat
Chrome41
文字列を繰り返します。
result = str.repeat(3);
console.log(result);
// こんにちは!こんにちは!こんにちは!
replaceAll
Chrome85
合致する全ての文字列を一括で置換します。
正規表現も使えます。なお、この場合、replaceと同じ気がします。
result = str.replaceAll("県", "けん");
console.log(result);
// 千葉けん 埼玉けん 神奈川けん
str = "千葉県 埼玉県 神奈川県";
result = str.replaceAll(/.県/g, "_けん");
console.log(result);
// 千_けん 埼_けん 神奈_けん
startsWith
Chrome41
「○○で始まる文字列」かどうかを判定します。
「starts」であることに注意。
[cc lang=”javascript”]
str = “大阪府”;
result = str.startsWith(“大”);
console.log(result);
// true
trimEnd
Chrome66
文字列の右側にある空白などを削除します。
[cc lang=”javascript”]
str = ” abc “;
result = str.trimEnd();
console.log(result);
// ‘ abc’
trimStart
Chrome66
文字列の左側にある空白などを削除します。
[cc lang=”javascript”]
str = ” abc “;
result = str.trimStart();
console.log(result);
// ‘abc ‘
コメント