CodeRoll | Frontend
4.77K subscribers
1.63K photos
73 videos
1 file
963 links
— Лучшее для разработчика и дизайнера / IT инструменты, курсы и книги
— Веб-разработка на JS, HTML, CSS, React, Vue,Angular

Купить рекламу: https://telega.in/c/coderoll

Чат: https://t.me/coderoll_chat

По всем вопросам пишите сюда - @yankovsky_ads
Download Telegram
Используем принципы “Чистого кода” в контексте JavaScript.

Функции


❗️ Не создавайте глобальные функции, которые могут создать конфликт с аналогичными функциями сторонних библиотек

Давайте разберем на примере: что, если вы хотите расширить собственный метод JavaScript Array, чтобы иметь метод diff, который мог бы показать разницу между двумя массивами?


Вы можете написать свою новую функцию в Array.prototype, но она может конфликтовать с другой библиотекой, которая попытается сделать то же самое

Что, если эта другая библиотека просто использует diff, чтобы найти разницу между первым и последним элементами массива?

Вот почему было бы гораздо лучше просто использовать классы ES2015/ES6 и просто расширить глобальный Array.

Coderoll | Frontend
👍3
Что такое Callback Hell?

Ответ:
Callback Hell — это ситуация, когда код становится трудно читаемым и поддерживаемым из-за глубокой вложенности коллбэков. Это часто происходит при работе с асинхронными операциями. Проблему можно решить с помощью Promises или Async/Await.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
💅3
👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript

Функции


Функции должны делать что-то одно


❗️ Это самое важное правило в программной инженерии

Когда функции делают больше, чем одно, их сложнее составлять, тестировать и рассуждать о них

Когда вы можете изолировать функцию только для одного действия, ее можно легко рефакторить (переписывать, исправлять), и ваш код будет читаться намного чище

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚡️Что такое DOM?

Ответ:
Объектная Модель Документа (DOM) является программным интерфейсом для HTML, XML и SVG документов. Это обеспечивает структурированное представление документа (дерева), и определяет способ, по которому структура может быть доступна для программы, для изменения структуры документа, его стиля и содержания. DOM обеспечивает представление документа в виде структурированной группы узлов и объектов, которые имеют свойства и методы. По сути, она связывает веб -страницы со скриптами или языками программирования.

DOM (Document Object Model — «объектная модель документа») — это независящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML-, XHTML- и XML-документов, а также изменять содержимое, структуру и оформление таких документов.


Почитать подробнее

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
3💅2
Jotai — атомарный state management для React

Jotai предлагает минималистичный и гибкий подход к управлению состоянием. Основан на атомах, которые можно комбинировать и использовать с Suspense. Поддерживает TypeScript и хорошую совместимость с серверным рендерингом.

👀 Попробовать

Coderoll | Frontend
👍1
Что выведет этот код?
👍4
Что выведет этот код?
🤯3👍2
Что выведет этот код?
👍1😁1
⚡️Какими способами можно визуально скрыть элемент?

Ответ:
с помощью свойства display;
с помощью свойства opacity;
с помощью свойства visibility;
с помощью position:absolute;
уменьшить размеры элемента до нуля.


Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Что выведет этот код?
👍3
Что такое промисы (Promises) в JavaScript?

Ответ:
Промисы — это объект, представляющий результат асинхронной операции. У промиса есть три состояния: pending (ожидание), fulfilled (успех) и rejected (ошибка). Они позволяют работать с асинхронным кодом без использования коллбэков.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
3
Что выведет этот код?
👍2
Что такое Destructuring Assignment?

Ответ:
Destructuring Assignment — это синтаксис JavaScript, который позволяет извлекать данные из массивов или объектов в переменные. Это упрощает работу с данными и делает код более читаемым.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
💅2
Что выведет этот код?
👍3🤯2💅1
⚡️Что такое инкапсуляция

Ответ:
Инкапсуляция - это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает и то и другое от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект.

Подробнее

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
2💅1
Что выведет этот код?
Как работает this в JavaScript?

Ответ:
В глобальной области: this ссылается на window (в браузере) или global (в Node.js).
В методах объектов: this ссылается на объект, в котором вызван метод.
В стрелочных функциях: this берется из внешнего контекста.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
2
Что выведет этот код?
Что такое Higher-Order Function?

Ответ:
Higher-Order Function — это функция, которая принимает другие функции в качестве аргументов или возвращает функцию в качестве результата. Примеры встроенных higher-order функций в JavaScript: map, filter, reduce.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
1
Используем принципы “Чистого кода” в контексте JavaScript. Часть 2

Функции


Аргументы функции - в идеале их должно быть 2 или меньше

Ограничение количества параметров функции невероятно важно, поскольку это упрощает тестирование вашей функции. Наличие более трех приводит к комбинаторным сложностям, когда вам приходится тестировать множество различных случаев с каждым отдельным аргументом

Один или два аргумента — идеальный случай, а трех следует избегать, если это возможно. Все, что больше, следует объединять. Обычно, если у вас больше двух аргументов, то ваша функция пытается сделать слишком много. В тех случаях, когда это не так, в большинстве случаев в качестве аргумента будет достаточно объекта более высокого уровня

Поскольку JavaScript позволяет создавать объекты на лету, без большого количества шаблонных классов, вы можете использовать объект, если вам нужно много аргументов

Чтобы сделать очевидным, какие свойства ожидает функция, вы можете использовать синтаксис деструктуризации ES2015/ES6

Coderoll | Frontend
👍2