Array.prototype.toSorted() - JavaScript | MDN
模範解答
🔑 toSorted() の非破壊性と、sort() と比較したときの副作用や再利用性という観点からの利点を理解しているか。
回答履歴 (2回)
あなたの回答
toSortedは元の配列をディープコピーして新しく配列を生成するため、元の配列に影響を与えないという意味で非破壊的である。 それによってsortで発生していた元配列の変更による暗黙的な後続処理への影響を無くすことができるという利点がある
フィードバック
toSorted が元の配列を変更しないため非破壊的であり、sort による暗黙的な副作用を避けられるという点は正しく説明できています。ただし、toSorted が行うのは「ディープコピー」ではなく、新しい配列オブジェクトを作る「シャローコピー」に近い動作である点がやや不正確です。また、非破壊性により同じ元配列を別の処理・別のソート条件で再利用しやすくなる点も利点として補足できます。
あなたの回答
toSortedは元配列からシャローコピーされた値を並び替えて新しい配列を作成するため、元配列に影響がないという意味で非破壊的であると言われている。 それによって元配列に対する暗黙的な変更を考えずに実装を行うことができるというメリットがある
フィードバック
toSorted が元の配列を変更せず新しい配列を返すため非破壊的である、という点は正しく説明できています。また、副作用を気にせず実装できるという利点の指摘も模範解答と合致しています。一方で、sort() と比較した際の「同じ元配列を別の処理で再利用しやすくなる」という観点に具体的な言及がない点が不足しています。そこを補えば、模範解答とほぼ同等の内容になります。