Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

JavaScriptの追加機能メモ(ES2021(ES12))


久しぶりにJavaScriptでの開発を行うことになったので、過去のアップデートを拾ってみました。

ちなみに以下も記載しています。気になる方は目次だけでも眺めてみてください。
- JavaScriptの追加機能メモ(ES2020(ES11))
- JavaScriptの追加機能メモ(ES2019(ES10))


大きい数字を区切って人間が見やすくする

  • 数値を_(アンスコ)をで区切って人間が見やすく記述することが可能。
    • プログラムが処理される際に_があっても無視される。
const num = 1_000_000_000;  // 1000000000と同じ

論理代入演算子

??=演算子

  • anullundefinedのときに、abを代入するための演算子
let a = null;
a ??= "update";
console.log(a); // 結果: "update"

let b = "init";
b ??= "update";
console.log(b); // 結果: "init"

||=演算子

  • afalsyなものの場合に、abを代入するための演算子
let a = 0;
a ||= "update";
console.log(a); // 結果: "update"

let b = "init";
b ||= "update";
console.log(b); // 結果: "init"

&&=演算子

  • atruthyなものの場合に、abを代入するための演算子
let a = null;
a &&= "update";
console.log(a); // 結果: "null"

let b = "init";
b &&= "update";
console.log(b); // 結果: "update"

replaceAll()メソッドによる文字列の一括置換

  • 文字列の一括置換が簡単にできるようになった。
const str = "私は北区に住んでいる北野です。"
console.log(str.replaceAll("北", "東"))
// 私は東区に住んでいる東野です。

その他

  • Promise.any()で一番早くresolveした処理を採用
  • 弱参照の追加