<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Андрей Малышев</title><generator>teletype.in</generator><description><![CDATA[Андрей Малышев]]></description><image><url>https://teletype.in/files/21/e9/21e9b8f6-1c03-49af-ae39-61bc69c84021.png</url><title>Андрей Малышев</title><link>https://teletype.in/@malyshev147</link></image><link>https://teletype.in/@malyshev147?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/malyshev147?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/malyshev147?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Thu, 14 May 2026 02:06:07 GMT</pubDate><lastBuildDate>Thu, 14 May 2026 02:06:07 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@malyshev147/UIupVtk3g</guid><link>https://teletype.in/@malyshev147/UIupVtk3g?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/UIupVtk3g?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Циклы без заданного количества итераций в JavaScript</title><pubDate>Wed, 03 Jun 2020 18:23:35 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/de/04/de041a07-ec1c-4595-affe-2146f50fc9eb.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/14/60/1460f037-2a21-4830-94d8-de995ccbe5ce.jpeg"></img>Есть задачи, в которых количество итераций цикла не известно заранее. К примеру: дано число, нужно делить его на 2 столько раз, пока результат не станет меньше 10. Нужно вывести число, которое при этом получится.]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/14/60/1460f037-2a21-4830-94d8-de995ccbe5ce.jpeg" width="1920" />
  </figure>
  <p>Есть задачи, в которых количество итераций цикла не известно заранее. К примеру: дано число, нужно делить его на 2 столько раз, пока результат не станет меньше 10. Нужно вывести число, которое при этом получится.</p>
  <p>В этом случае мы не знаем количество итераций. Не беда - сделаем условием цикла условие пока число больше 10:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/bc/44/bc44d51b-5eef-43f6-999c-81638c3a1e47.jpeg" width="658" />
  </figure>
  <h2><br />Использования цикла for:</h2>
  <p>Для решения задачи из начала урока можно использовать и цикл <strong>for</strong>, но особым образом - без тела:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/58/b8/58b849d8-03b6-4cce-a38a-dbc827ad0a27.jpeg" width="713" />
  </figure>
  <p>Обратите внимание на то, что переменная <strong>num</strong> объявлена через <strong>var</strong> - это нужно для того, чтобы переменная была доступна после цикла.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/WMhOkzbYk</guid><link>https://teletype.in/@malyshev147/WMhOkzbYk?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/WMhOkzbYk?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Работа с флагами в JavaScript</title><pubDate>Tue, 02 Jun 2020 20:38:25 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/29/ee/29eefd9f-0cbf-467c-b160-375de8266464.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/6c/79/6c795a47-99ca-4d8c-a735-dfb918ef5674.jpeg"></img>Флаг - это специальная переменная, которое может принимать только два значения: true и false. С помощью флагов можно решать задачи, проверяющие отсутствие чего-либо: можно проверить, что в массиве нет элемента с определенным значением.]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/6c/79/6c795a47-99ca-4d8c-a735-dfb918ef5674.jpeg" width="1920" />
  </figure>
  <p><strong>Флаг</strong> - это специальная переменная, которое может принимать только два значения: <strong>true</strong> и <strong>false</strong>. С помощью флагов можно решать задачи, проверяющие отсутствие чего-либо: можно проверить, что в массиве нет элемента с определенным значением.</p>
  <p>Попробуем решить следующую задачу: у нас есть массив с числами, нужно проверить, есть ли в нем элемент со значением <strong>4</strong> или нет. Если есть - выведем <strong>&quot;Присутствует!&quot;</strong>, если нет - выведем<strong> &quot;Отсутствует!&quot;</strong>.</p>
  <p>Для начала давайте попробуем вывести <strong>&quot;Присутствует!&quot;</strong>. Для этого переберем все элементы нашего массива и с помощью <strong>if</strong> будем спрашивать - равен ли текущий элемент значению <strong>4</strong>. Если равен - выведем <strong>&quot;Присутствует!&quot;</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/ba/07/ba07ed95-57b9-4335-8151-7b592d97ecfa.jpeg" width="676" />
  </figure>
  <p>Наше решение не очень хорошее: поскольку, если в массиве будет не одно значение <strong>4</strong>, а несколько, то <strong>&quot;Присутствует!&quot;</strong> выведется несколько раз. Давайте исправим наш массив и сделаем два элемента со значением <strong>4</strong>,чтобыубедится в этом:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/df/b9/dfb9b0c6-e2d1-4d62-ba4d-c768474c4de3.jpeg" width="691" />
  </figure>
  <p>Давайте теперь попробуем сделать так, чтобы, если в массиве вообще нет элементов со значением <strong>4</strong>, выводилось <strong>&quot;Отсутствует!&quot;</strong>. Распространенным заблуждением будет добавить <strong>else</strong> к нашему <strong>if</strong> - в этом случае <strong>&quot;Отсутствует!&quot;</strong> будет выводиться на все элементы, не являющиеся <strong>4</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/88/9b/889bd68e-f2ad-4d33-adae-0dbbc9c65b27.jpeg" width="697" />
  </figure>
  <p>Идея добавить <strong>else</strong> - плохая идея, не рабочая. Для решения задач подобного типа и используют так называемые <strong>флаги</strong>.</p>
  <p>Давайте сделаем переменную <strong>flag</strong> с таким значением: если она равна <strong>true</strong>, то в массиве есть элемент <strong>4</strong>, а если <strong>false</strong>, то такого элемента нет.</p>
  <p>Затем запустим цикл с <strong>if</strong> так, как мы делали это раньше. Если цикл обнаружит, что в массиве есть элемент <strong>4</strong> - то поставим переменную <strong>flag</strong> в значение <strong>true</strong> и выйдем из цикла с помощью <strong>break</strong>.</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/de/d6/ded6f92b-b915-492e-b978-8d48cb5e90e9.jpeg" width="685" />
  </figure>
  <p>после цикла переменная <strong>flag</strong> могла остаться <strong>false</strong> или могла сменить свое значение на <strong>true</strong>, если цикл обнаружил в массиве <strong>4</strong>.</p>
  <p>Теперь после цикла мы можем сделать <strong>if</strong>, который посмотрит на переменную flag и выведет на экран <strong>&quot;Присутствует!&quot;</strong> или <strong>&quot;Отсутствует!&quot;</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/3d/8b/3d8bf9c7-64d1-45f8-bbfc-ea64dd78513b.jpeg" width="691" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/bE0cGRgBA</guid><link>https://teletype.in/@malyshev147/bE0cGRgBA?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/bE0cGRgBA?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Инструкция break в JavaScript</title><pubDate>Mon, 01 Jun 2020 18:22:32 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/28/19/28197a37-f2ad-4dd4-99fc-aac47e3ee765.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/fe/02/fe02035d-82c7-47e3-8f70-b78968d0ea78.jpeg"></img>Допустим у нас есть вот такой цикл, выводящий в консоль элементы массива:]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/fe/02/fe02035d-82c7-47e3-8f70-b78968d0ea78.jpeg" width="1920" />
  </figure>
  <p>Допустим у нас есть вот такой цикл, выводящий в консоль элементы массива:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/5f/4f/5f4fce13-eb9e-4a06-9c2e-a5383fa5c383.jpeg" width="671" />
  </figure>
  <p>Перед нами стоит задача определить, есть ли в массиве число <strong>4</strong>. Если есть - выведем в консоль слово &quot;есть!&quot;.</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/c1/b3/c1b3e7db-cbc9-470a-99c2-64ab137708c2.jpeg" width="632" />
  </figure>
  <p>Есть проблема: после того, как число 4 уже найдено, массив все равно <strong>продолжает бессмысленно перебираться дальше </strong>замедляя работу нашего скрипта.</p>
  <p>Оптимальнее было бы сразу после нахождения числа завершить работу нашего цикла. Это можно сделать с помощью специально инструкции <strong>break</strong>, позволяющей досрочно завершить работу цикла.</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/5b/d1/5bd13033-b410-4d7a-a313-f2f949f25222.jpeg" width="625" />
  </figure>
  <p>Инструкция <strong>break</strong> может завершать любые циклы: обычный <strong>for</strong>, <strong>while</strong> и так далее.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/j0Hz0qaCP</guid><link>https://teletype.in/@malyshev147/j0Hz0qaCP?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/j0Hz0qaCP?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Перебор массивов циклом for-of и перебор объектов циклом for-in в JavaScript</title><pubDate>Sun, 31 May 2020 20:33:41 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/b5/0a/b50a87be-67a6-41ea-9665-0f2ae219f951.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/80/ab/80ab0428-1a6b-4617-8c4a-494f6fd0036d.jpeg"></img>В ES6 (EcmaScript 6) появился новый цикл for-of, предназначенный конкретно для перебора массивов.]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/80/ab/80ab0428-1a6b-4617-8c4a-494f6fd0036d.jpeg" width="1920" />
  </figure>
  <h2>Перебор массива циклом for-of:</h2>
  <p>В ES6 (EcmaScript 6) появился новый цикл <strong>for-of</strong>, предназначенный конкретно для <strong>перебора массивов</strong>.</p>
  <p>Давайте рассмотрим пример:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/24/b9/24b91e3b-5d59-4a20-a8c9-00bc6fca2822.jpeg" width="719" />
  </figure>
  <h2><br />Перебор объекта циклом for-in:</h2>
  <p>Существует похожий цикл <strong>for-in</strong>, предназначенный для <strong>перебора объектов</strong>.</p>
  <p>Просмотрим пример:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/f0/75/f075087d-25a8-4f27-9936-d1fca3cbc1e8.jpeg" width="669" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/fGcVcyDVF</guid><link>https://teletype.in/@malyshev147/fGcVcyDVF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/fGcVcyDVF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Цикл for для массивов в JavaScript</title><pubDate>Sat, 30 May 2020 18:31:52 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/4c/15/4c15a0df-b221-471f-a60c-0f11e51a8973.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/3c/af/3caf363f-0062-4711-bdd4-38b77854fd00.jpeg"></img>Пусть у нас есть следующий массив:]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/3c/af/3caf363f-0062-4711-bdd4-38b77854fd00.jpeg" width="1920" />
  </figure>
  <p>Пусть у нас есть следующий массив:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/8d/af/8dafbbc8-2b04-461a-8a70-5218daf4e86c.jpeg" width="692" />
  </figure>
  <p>Сейчас мы сделаем так, чтобы не вручную выводить каждый элемент, а это сделал за нас цикл <strong>for</strong>.</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/8b/fd/8bfdd733-4720-413d-8001-df9b4f79ab87.jpeg" width="618" />
  </figure>
  <p>Запустим цикл <strong>for</strong> от <strong>0</strong> до <strong>4 </strong>(Мы указываем от <strong>0</strong> до <strong>4</strong>, поскольку это <strong>порядковые номера элементов массива</strong>) и внутри этого цикла будем выводить элементы массива, обращаясь к ним как <strong>arr[i]</strong>.</p>
  <p>Так же мы можем получить длину массива <strong>arr.length</strong>. Давайте подставим эту длину в условие, отняв от нее единицу:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/cc/ef/ccefa28f-55c7-4442-aa79-bb0b5e4f8c68.jpeg" width="679" />
  </figure>
  <p>Теперь наш цикл получился универсальным и автоматически может перебирать массивы любой длины.</p>
  <p>Можно не отнимать единицу, а вместо <strong>оператора &lt;=</strong> подставить <strong>оператор &lt;</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/a7/fc/a7fc5fa5-7246-4395-90a7-6621a580e075.jpeg" width="681" />
  </figure>
  <h2><br />Перебор массива и if:</h2>
  <p>Внутри цикла <strong>for</strong> можно использовать условие <strong>if</strong>. При переборе массива, мы можем выводить в консоль только элементы с четными числами:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/d9/8c/d98cc19d-b102-45d1-b570-5f49b7b55484.jpeg" width="666" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/SmPSL4vi6</guid><link>https://teletype.in/@malyshev147/SmPSL4vi6?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/SmPSL4vi6?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Цикл for в JavaScript</title><pubDate>Sat, 30 May 2020 08:57:39 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/06/f1/06f1a148-da68-408a-9a11-ed93569875f1.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/f4/a2/f4a2238d-a0cd-462f-a9d7-8965112dab34.jpeg"></img>Цикл for является альтернативой while. Он более сложен для понимания, но чаще всего его любят больше, чем while за то, что он занимает меньше строк кода.]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/f4/a2/f4a2238d-a0cd-462f-a9d7-8965112dab34.jpeg" width="1920" />
  </figure>
  <p>Цикл <strong>for</strong> является альтернативой <strong>while</strong>. Он более сложен для понимания, но чаще всего его любят больше, чем <strong>while</strong> за то, что он занимает меньше строк кода.</p>
  <p>Давайте рассмотрим пример цикла <strong>for</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/a4/aa/a4aa5f8f-c0bd-4ffe-b3aa-0b451594a239.jpeg" width="701" />
  </figure>
  <p><strong>Начальные команды</strong> - это то, что выполнится <strong>перед стартом цикла</strong>. Они выполнятся только один раз.</p>
  <p><strong>Условие окончания цикла</strong> - это условие, при котором цикл будет выполняться, пока оно истинное.</p>
  <p><strong>Команды после прохода цикла</strong> - это команды, которые будут выполнятся каждый раз при окончании прохода цикла. Обычно там увеличивают счетчики, например: <strong>i++</strong>.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/yrktx9PNK</guid><link>https://teletype.in/@malyshev147/yrktx9PNK?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/yrktx9PNK?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Цикл while в JavaScript</title><pubDate>Fri, 29 May 2020 18:26:38 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/71/5d/715d1193-e55f-4048-a1dc-007727a52d2b.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/09/aa/09aa2c55-464a-4518-a52b-c0a77e1dc189.jpeg"></img>Циклы используются для того, чтобы некоторый участок кода выполнился несколько раз подряд.]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/09/aa/09aa2c55-464a-4518-a52b-c0a77e1dc189.jpeg" width="1920" />
  </figure>
  <p>Циклы используются для того, чтобы некоторый участок кода <strong>выполнился несколько раз подряд</strong>.</p>
  <p>Начнем наше изучение циклов с цикла <strong>while</strong>.</p>
  <p>Цикл <strong>while</strong> будет выполняться до тех пор, пока <strong>верно</strong> (истинно) выражение, переданное ему параметром. Цикл закончится, когда выражение перестанет быть истинным.</p>
  <p>Давайте рассмотрим пример цикла <strong>while</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/de/93/de9357c5-16be-4314-8394-8efc0b991fee.jpeg" width="706" />
  </figure>
  <p>Переменная <strong>i</strong> называется <strong>счетчиком цикла</strong>. Счетчики используются для того, чтобы подсчитывать, сколько раз выполнился цикл.</p>
  <p>Для счетчиков принято использовать буквы <strong>i</strong>, <strong>j</strong> и <strong>k</strong>.</p>
  <p>Каждый проход цикла называется <strong>итерацией</strong> цикла. Можно сказать, что мы увеличиваем переменную <strong>i</strong> на единицу <strong>в каждой итерации цикла</strong>.</p>
  <p></p>
  <h2>Более сложный цикл:</h2>
  <p>К счетчику не обязательно прибавлять единицу. Давайте для примера выведем столбец четных чисел от <strong>4</strong> до <strong>16</strong>. Для этого <strong>начальное значение</strong> переменной <strong>i</strong> зададим как <strong>4</strong> и будем прибавлять двойку:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/e9/2c/e92c098b-d51b-4d05-9ebd-1b4448fea6ae.jpeg" width="706" />
  </figure>
  <p></p>
  <h2>Обратный отсчет:</h2>
  <p>Счетчик не обязательно должен увеличиваться в цикле. Бывают ситуации, когда счетчик <strong>должен уменьшается</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/4e/e7/4ee7bc7b-8547-4bfc-9d3b-c24e378b3e60.jpeg" width="656" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/MS_AS3Z1p</guid><link>https://teletype.in/@malyshev147/MS_AS3Z1p?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/MS_AS3Z1p?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Функция confirm в JavaScript</title><pubDate>Fri, 29 May 2020 09:26:50 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/27/b7/27b7d682-328e-4448-b973-97a3485574c0.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/cf/1e/cf1e9e0e-cc2d-443b-8f37-764266d7e3bf.jpeg"></img>Вы уже знаете две функции, которые выводят диалоговые окна, а именно alert и prompt.]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/cf/1e/cf1e9e0e-cc2d-443b-8f37-764266d7e3bf.jpeg" width="1920" />
  </figure>
  <p>Вы уже знаете две функции, которые выводят диалоговые окна, а именно <strong>alert</strong> и <strong>prompt</strong>.</p>
  <p>Функция <strong>confirm</strong> вызывает окошко с вопросом, на который нужно ответить пользователю, и двумя кнопками для ответа: <strong>с кнопкой &quot;Ок&quot; </strong>и <strong>с кнопкой &quot;Отмена&quot;</strong>.</p>
  <p>Если пользователь нажмет <strong>&quot;Ок&quot;</strong> - то функция вернет <strong>true</strong>, а если <strong>&quot;Отмена&quot;</strong> - то вернет <strong>false</strong>.</p>
  <p>Давайте рассмотрим пример использования этой функции:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/9e/a0/9ea095ee-b96b-4b4c-8a34-28572e5ec63b.jpeg" width="704" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/37ZWnXOoU</guid><link>https://teletype.in/@malyshev147/37ZWnXOoU?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/37ZWnXOoU?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Конструкция switch-case в JavaScript</title><pubDate>Thu, 28 May 2020 17:47:30 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/13/cc/13cca260-3d78-46eb-80b6-52b40114482d.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/9b/55/9b55a823-1a17-40ca-a1da-215b25fcf34a.jpeg"></img>
Рассмотрим следующий код:]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/9b/55/9b55a823-1a17-40ca-a1da-215b25fcf34a.jpeg" width="1920" />
  </figure>
  <p><br />Рассмотрим следующий код:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/0b/82/0b82bf84-d1ab-42f0-9a60-16440efdaa75.jpeg" width="512" />
  </figure>
  <p>Давайте изменим этот код через конструкцию <strong>switch-case</strong>, представляющую собой альтернативу <strong>if-else</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/71/bf/71bfe254-4bed-4bcc-b90b-493a506401d2.jpeg" width="708" />
  </figure>
  <p>Обратите внимание на то, что в блоке <strong>case</strong> нужно писать какое-то конкретное значение - там <strong>нельзя использовать логические операции</strong> (<strong>==</strong>, <strong>больше</strong>, <strong>меньше</strong> и тп).</p>
  <p>То есть <strong>switch-case </strong>используется для выбора <strong>одного значения</strong> из некоторого ряда значений. Если вам нужно <strong>нечто более сложное</strong> - необходимо использовать конструкцию <strong>if-else</strong>.</p>
  <h2><br />Необязательность использования break:</h2>
  <p>Команда <strong>break</strong> является <strong>необязательной</strong>. Однако, есть одно <strong>НО</strong>, поведение блоков <strong>case</strong> будет неожиданным.</p>
  <p>Давайте рассмотрим примеры:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/9e/10/9e10f589-d2f0-43e9-8013-5b001b15cd3e.jpeg" width="695" />
  </figure>
  <p>То есть, при отсутствии <strong>break</strong> после выполнения задуманного <strong>case</strong>, выполнятся и все <strong>case </strong>ниже него.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@malyshev147/A4LCUrgVc</guid><link>https://teletype.in/@malyshev147/A4LCUrgVc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147</link><comments>https://teletype.in/@malyshev147/A4LCUrgVc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=malyshev147#comments</comments><dc:creator>malyshev147</dc:creator><title>Область видимости let и var в if-else</title><pubDate>Thu, 28 May 2020 08:39:31 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/24/17/2417c597-79ac-4ff4-a48a-2a117e3dc913.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/07/8e/078e48e7-596a-4cb2-a094-e5e99157d955.jpeg"></img>Рассмотрим следующий пример:]]></description><content:encoded><![CDATA[
  <figure class="m_original">
    <img src="https://teletype.in/files/07/8e/078e48e7-596a-4cb2-a094-e5e99157d955.jpeg" width="1920" />
  </figure>
  <p>Рассмотрим следующий пример:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/e8/a0/e8a0d7ad-1bed-43a2-a5af-6855283b6665.jpeg" width="525" />
  </figure>
  <p>Как вы видите, в переменную <strong>a </strong>должно записаться значение <strong>&quot;Готово!&quot;</strong>. Однако, если запустить этот код, то в консоль <strong>выведется ошибка</strong>!</p>
  <p>Дело в том, что переменные, объявленные внутри фигурных скобок, <strong>видны только внутри этих скобок</strong>, и <strong>не видны снаружи</strong>.</p>
  <p>Однако, если переменная <strong>объявлена снаружи фигурных скобок</strong>, то <strong>видна</strong> и <strong>внутри них</strong>, и <strong>снаружи</strong>:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/ca/53/ca53bdf1-bc97-450c-97b9-ed2519d3e125.jpeg" width="690" />
  </figure>
  <h2><br />Область видимости var:</h2>
  <p>Переменные можно объявлять либо через <strong>let</strong>, либо через <strong>var</strong>.</p>
  <p>Эти два способа объявления переменных создают для них <strong>разные области видимости</strong>.</p>
  <p>Посмотрим на примерах:</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/02/aa/02aaddac-8853-4583-a2e6-3c00598a04b4.jpeg" width="572" />
  </figure>
  <p>В настоящее время рекомендуется объявлять переменные именно через <strong>let</strong>, так как область видимости таких переменных <strong>ограничена фигурными скобками</strong> (это защищает код от случайных ошибок).</p>

]]></content:encoded></item></channel></rss>