クイズ: モダンJavaScriptは知ってる?
JavaScript の腕前を証明しよう!
ES2015 と ES2022、どっちが分かりますか?
- JavaScript スキルを証明しよう! 🚀
- ログインやサインアップは不要です。 ✨
- 選択式クイズです。 🤖 … どれだけ簡単だと思いますか?
次のコードの出力は何ですか?
const obj = { foo: null };const result = obj.foo?.bar;console.log(result);オプショナルチェイニング演算子(?.)は、左側が null または undefined の場合に評価を停止します。obj.foo が null なので、obj.foo?.bar は undefined となります。
次のコードの結果は何ですか?
const promises = [ Promise.resolve('success'), Promise.reject('error')];Promise.allSettled(promises).then(results => { console.log(results[0].status + ': ' + results[0].value);});Promise.allSettled は各 Promise の結果を記述したオブジェクトの配列を返します。最初の Promise は fulfilled で値 'success' を持つので、ログは fulfilled: success と出力します。
str.matchAll() は何を返しますか?
const str = 'foo1bar2baz3';const matches = str.matchAll(/\d/g);String.matchAll は配列ではなくマッチのイテレータを返します。このイテレータを使って文字列からすべてのマッチンググループを取得できます。
import.meta.url は何を表しますか?
console.log(import.meta.url);import.meta は現在のモジュールに関するメタデータを含むオブジェクトです。import.meta.url プロパティは現在のモジュールの URL を表し、スクリプトが実行されている場所の情報を取得するのに使えます。
nullish 代入の後、b の値は何ですか?
let b = null;b ??= 10;console.log(b);nullish 合体代入 (??=) は左側の値が null または undefined の場合に右側の値を代入します。b は null なので、値 10 が代入されます。