論理代入
JavaScriptは、代入と二項演算を簡潔に表現できる一連の複合代入演算子をサポートしています。現在は、数学的またはビット演算のみがサポートされています。
JavaScriptは、代入と二項演算を簡潔に表現できる一連の複合代入演算子をサポートしています。現在は、数学的またはビット演算のみがサポートされています。
JavaScript で文字列を扱ったことがあるなら、String#replace
メソッドに出会ったことがあるでしょう。String.prototype.replace(searchValue, replacement)
は指定されたパラメーターに基づいて一致する部分を置換した結果の文字列を返します:
一般的に、JavaScriptではオブジェクトへの参照は_強く保持されており_、オブジェクトへの参照がある限り、ガベージコレクションされることはありません。
const ref = { x: 42, y: 51 };
// `ref`(または同じオブジェクトへの他の参照)にアクセスできる限り、
// オブジェクトはガベージコレクションされません。
現在のところ、WeakMap
とWeakSet
はJavaScriptでオブジェクトを弱参照する唯一の方法です:WeakMap
やWeakSet
にキーとしてオブジェクトを追加しても、ガベージコレクションを妨げることはありません。
const wm = new WeakMap();
{
const ref = {};
const metaData = 'foo';
wm.set(ref, metaData);
wm.get(ref);
// → metaData
}
// このブロックスコープ内で`ref`への参照が無くなったため、
// オブジェクトはガベージコレクションされます。
// ただし、それが`wm`のキーである場合でも、`wm`へのアクセスは可能です。
ES2015でPromiseが導入されて以来、JavaScriptでは静的メソッドPromise.all
とPromise.race
の2つのPromiseコンビネーターがサポートされています。
現在、標準化プロセスを進行中の2つの新しい提案があります: Promise.allSettled
とPromise.any
です。この追加により、JavaScriptには合計4つのPromiseコンビネーターが存在し、それぞれ異なるユースケースを可能にします。
大きな数値リテラルは、特に繰り返しの数字が多い場合、人間の目で素早く解析するのが困難です。
1000000000000
1019436871.42
可読性を向上させるために、新しいJavaScriptの言語機能で数値リテラルにアンダースコアを区切り文字として使用できるようになりました。その結果、上記のような数値が千単位ごとにグループ化して書き直すことができます。