<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=464702&amp;view=findpost&amp;p=3926478</guid>
        <pubDate>Wed, 06 Aug 2025 07:53:57 +0000</pubDate>
        <title>Как удалить экземпляр класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=464702&amp;view=findpost&amp;p=3926478</link>
        <description><![CDATA[H g: Спасибо, нужно попробовать]]></description>
        <author>H g</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=464702&amp;view=findpost&amp;p=3926477</guid>
        <pubDate>Wed, 06 Aug 2025 07:23:01 +0000</pubDate>
        <title>Как удалить экземпляр класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=464702&amp;view=findpost&amp;p=3926477</link>
        <description><![CDATA[Majestio: В JavaScript удалить экземпляр класса в лоб, как в C++ (delete obj), нельзя — потому что управление памятью полностью автоматизировано через сборщик мусора (garbage collector).<br>
Если иных ссылок на объект нет, достаточно выполнить:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">e.game = null;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Cборщик мусора удалит всё сам.<br>
<br>
Более сложный случай, когда внутри класса что-то создаётся и это нужно разрушить - создай метод <span class="tag-font" data-value="Courier" style="font-family:Courier"><span class="tag-color tag-color-named" data-value="blue" style="color: blue">destroy()</span></span>, в нем все очисти. Потом получится:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">e.game.destroy();</div><div class="code_line">e.game = null;</div></ol></div></div></div></div><br>
По идее так должно быть.]]></description>
        <author>Majestio</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=464702&amp;view=findpost&amp;p=3926470</guid>
        <pubDate>Wed, 06 Aug 2025 07:01:04 +0000</pubDate>
        <title>Как удалить экземпляр класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=464702&amp;view=findpost&amp;p=3926470</link>
        <description><![CDATA[H g: Есть класс<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">export class MatchThree {</div><div class="code_line">&nbsp;&nbsp; &nbsp;wrap = document.querySelector(&quot;.wrap&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;constructor(rowscount, columnscount, tilescount) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.game = new Game(rowscount, columnscount, tilescount);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.grid = new Grid(this.wrap, this.game.matrix);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.wrap.addEventListener(&quot;swap&quot;, (event) =&#62; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const firstelementposition = event.detail.firstelementposition;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const secondelementposition = event.detail.secondelementposition;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;this.Swap(firstelementposition, secondelementposition);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;});</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;async Swap(firstelementposition, secondelementposition) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;const swapstates = this.game.Swap(firstelementposition, secondelementposition);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;await this.grid.Swap(firstelementposition, secondelementposition, swapstates);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.UpdateScore();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;UpdateScore() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;document.querySelector(&quot;.box06&quot;).innerHTML = this.game.scorehero;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div><br>
Создается экземпляр класса с помощью new<br>
(понятие экземпляр класса я по привычке взял из С++, или в JS класс это что-то другое?)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">e.game = new MatchThree(8, 6, 4);</div></ol></div></div></div></div><br>
А как его удалить ?<br>
<br>
Пробовал delete, remove, но что-то не получается.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">export class e {</div><div class="code_line">&nbsp;&nbsp; &nbsp;constructor() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;let game = null; // &#60;---- это типа глобальная переменная, не знаю как в JS их создавать</div><div class="code_line">// в С++, где строгая типизация, было понятно, а здесь черт его знает что это, где это и вообще трудно проконтролировать, </div><div class="code_line">// поскольку веб приложение, если не может выполнить просто игнорирует - крайне плохой подход</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div><div class="code_line">delete e.game;</div></ol></div></div></div></div>]]></description>
        <author>H g</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      </channel>
      </rss>
	