私たちはこのオープンソースプロジェクトを世界中の人々に提供したいと考えています。このチュートリアルの内容をあなたが知っている言語に翻訳するのを手伝ってください。学んだ通り、JavaScriptエンジンは、それが到達可能な(そして潜在的に利用される可能性がある)間、メモリ上に値を保持しています。オブジェクトへはアクセス可能です。オブジェクトはメモリから削除されるでしょう通常、オブジェクトまたは配列の要素、もしくは別のデータ構造のプロパティは到達可能と考えられ、そのデータ構造がメモリにいる間は保持され続けます。あるオブジェクトを配列に入れた場合、その配列が生きている間は、他の参照がなくてもそのオブジェクトは生きていることになります。配列内に格納されているので、ガベージコレクションされません。存在している間はそのオブジェクトも存在します。これはメモリを占め、ガベージコレクションされないかもしれません。この点で根本的に異なります。これらはキーオブジェクトのガベージコレクションを妨げることはありません。例でその意味するところを見ていきましょう。map)から削除されます。場合と比べて見てください。存在する場合、自動的に削除されます。そのため、すべてのキーや値を取得する方法はありません。value)weakMap.has(key)なぜこのような制限があるのでしょうか?これは技術的な理由です。ように)、自動的に削除されます。正確には指定されていません。それはJavaScriptエンジンが決定します。エンジンはすぐにメモリのクリーンアップを実行するか、待ってより多くの削除が発生した後にクリーンアップするかを選択できます。現在の要素数はわかりません。エンジンがクリーンアップしている/していない、または部分的にそれをしているかもしれません。全体にアクセスするメソッドはサポートされていません。"Alice"}];あなたのコードでそれにアクセスできますが、メッセージは他の誰かのコードで管理されています。そのコードによって新しいメッセージが追加され、古いものが定期的に削除されます。あなたはそれが発生する正確なタイミングを知りません。いう解答を与えるのに適したものでなければなりません。削除されたとき、あなたの構造からも同様に消える必要があります。私たちはメッセージオブジェクトを直接変更すべきではありません。ほかの誰かのコードによって管理されている場合、余分なプロパティの追加は悪い結果になる可能性があります。メッセージのセットを格納し、その中でメッセージの存在を簡単に確認することができます。それは自動的に自身をクリーンアップします。トレードオフはそれをイテレートすることができないことです。取得することができません。中のものをフィルタリングすることでそれを実現できます。メッセージが誰か他の人のコードで管理されている場合、各メッセージに同時のプロパティを追加することは危険です。衝突を回避するためにシンボルでそれをすることができます。ループを使っても、隠しフラグは表示されません。5前のタスクのメッセージ配列があります。事実の保持だけが必要でした。今度は日付を保存する必要があります。前と同じようにメッセージが削除されたら現れないでください。使って日付を格納することができます。オブジェクトについては後ほど学びます前のレッスン次のレッスンシェアチュートリアルマップコメントコメントをする前に読んでください...自由に記事への追加や質問を投稿をしたり、それらに回答してください。タグを使ってください。codepen...)。記事の中で理解できないことがあれば、詳しく説明してください。Kantorプロジェクトについてコンタクト。