Часть 1
Оператор else if используется для определения нового условия, если первое условие не соблюдается (возвращает false). Оператор switch определяет несколько альтернативных блоков кода.
На самом деле предубеждение к switch существует с тех времен, когда компиляторы были неоптимизирующими. Тогда switch превращался в огромный набор условных операторов, что нельзя назвать лучшим решением. Зато выглядело это аккуратнее, чем такой же набор if'ов в исходном коде программе.
Оператор else if используется для определения нового условия, если первое условие не соблюдается (возвращает false). Оператор switch определяет несколько альтернативных блоков кода.
На самом деле предубеждение к switch существует с тех времен, когда компиляторы были неоптимизирующими. Тогда switch превращался в огромный набор условных операторов, что нельзя назвать лучшим решением. Зато выглядело это аккуратнее, чем такой же набор if'ов в исходном коде программе.
👍10
Часть 2
Сейчас же компилятор, когда видит switch использует либо дерево из условных переходов, либо использует таблицу переходов.
С другой стороны, при использовании конструкции switch-case не нужно забывать про особенности работы с ключевыми словами break и default.
Некоторые забывают, например, слово break и в результате имеют некорректное выполнение программы (выполняется не только нужный case, но и последующие, пока не встретится break)
Что еще хочу сказать. switch хорошо работает с константными целыми или перечисленными типами. В этом случае компилятор даже может подсказать, что есть проблема.
Сейчас же компилятор, когда видит switch использует либо дерево из условных переходов, либо использует таблицу переходов.
С другой стороны, при использовании конструкции switch-case не нужно забывать про особенности работы с ключевыми словами break и default.
Некоторые забывают, например, слово break и в результате имеют некорректное выполнение программы (выполняется не только нужный case, но и последующие, пока не встретится break)
Что еще хочу сказать. switch хорошо работает с константными целыми или перечисленными типами. В этом случае компилятор даже может подсказать, что есть проблема.
👍10👨💻2🎃2✍1🤬1🎉1🌭1🤣1😭1🤝1🫡1
Итак, мы с вами разобрались с операторами switch и else if, НО знаете ли вы об объектных литералов? Об этом и не только вы узнаете у автора данного канала.
👍7
Forwarded from Руслан Куянец | Reactify
Помню давно я видел график, который сравнивал скорость выполнения условных операторов if-else, switch и объектных литералов при различном количестве кейсов. По этому графику, до 7 кейсов разница в производительности между switch и if-else была не существенной, но затем обе начинали показывать увеличение времени выполнения. При этом, рост у switch был менее выраженным по сравнению с if-else.
С другой стороны, объектные литералы в этом сравнении изначально шли немного медленнее, но после 7 кейсов их время выполнения оставалось стабильным, не зависимо от того, было ли там 7 или 100000 кейсов. Это делает их потенциально более предпочтительным выбором для ситуаций с большим количеством кейсов.
Я не смог найти его, поэтому нарисовал😃
#ОбучающийПост #JavaScript #объектные_литералы
С другой стороны, объектные литералы в этом сравнении изначально шли немного медленнее, но после 7 кейсов их время выполнения оставалось стабильным, не зависимо от того, было ли там 7 или 100000 кейсов. Это делает их потенциально более предпочтительным выбором для ситуаций с большим количеством кейсов.
Я не смог найти его, поэтому нарисовал😃
#ОбучающийПост #JavaScript #объектные_литералы
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
V0 – поможет сгенерировать полноценный интерфейс можно обычными текстовыми запросами. Вы можете создать абсолютно любой элемент UI, просто введя промт. Результат вы сможете сразу же отредактировать или доработать.
🔥11🐳1
Создание конвертера JSON в Typenoscript с помощью React, NodeJS и ChatGPT
https://habr.com/ru/companies/first/articles/761228/
Любой программист, часто работающий с API, может сэкономить массу времени, если использует ChatGPT для автоматизации преобразования JSON в интерфейсы Typenoscript.
https://habr.com/ru/companies/first/articles/761228/
Любой программист, часто работающий с API, может сэкономить массу времени, если использует ChatGPT для автоматизации преобразования JSON в интерфейсы Typenoscript.
👍10
Создал чат для обсуждения.
Там вы сможете вживую общаться со всеми об IT и около IT.
Не стесняйтесь задавать вопросы, есть знающие люди которые вам помогут. 👨💻
Переходите по ссылке https://news.1rj.ru/str/VoityvFrontend
Там вы сможете вживую общаться со всеми об IT и около IT.
Не стесняйтесь задавать вопросы, есть знающие люди которые вам помогут. 👨💻
Переходите по ссылке https://news.1rj.ru/str/VoityvFrontend
👌5
Хочу немного разобраться с вами, что такое NaN? (Not-a-Number)
В языке JavaScript есть специальные числовые значения. Всего их можно выделить два значение объекта NaN.
1. Infinity - значение бесконечности в JavaScript.
2. NaN - специальное числовое значение в JavaScript, означающее «нечисло»
🔘NaN неравно ничему, даже самому себе. (NaN == NaN ->false, NaN === NaN -> false)
🔘На NaN можно только проверить с помощью функции isNaN
🔘NaN получается тогда, когда в результате операций происходит ошибка или результат не определён. Например, 0/0 = NaN, 0*Infinity = NaN
🔘Любая операция с NaN дает результат NaN: (NaN + Infinity = NaN)
🔘Для значения Infinity в Java Script действует те же самые правила, что и в математике.
В языке JavaScript есть специальные числовые значения. Всего их можно выделить два значение объекта NaN.
1. Infinity - значение бесконечности в JavaScript.
2. NaN - специальное числовое значение в JavaScript, означающее «нечисло»
🔘NaN неравно ничему, даже самому себе. (NaN == NaN ->false, NaN === NaN -> false)
🔘На NaN можно только проверить с помощью функции isNaN
🔘NaN получается тогда, когда в результате операций происходит ошибка или результат не определён. Например, 0/0 = NaN, 0*Infinity = NaN
🔘Любая операция с NaN дает результат NaN: (NaN + Infinity = NaN)
🔘Для значения Infinity в Java Script действует те же самые правила, что и в математике.
🔥8👍2