Code Ready | Frontend
20K subscribers
699 photos
313 videos
17 files
468 links
Авторский канал по Frontend разработке.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

РКН: https://clck.ru/3NJCKs

Реклама на бирже: https://telega.in/c/code_ready
Download Telegram
Вопрос с собеседования

Что такое switch/case в JavaScript?

Ответ:


Switch/case — это конструкция в JavaScript, которая позволяет выбирать между несколькими вариантами выполнения кода в зависимости от значения выражения.

1. Выражение в switch может быть любым выражением, которое возвращает значение. Значения case должны быть константами или литералами.

Когда выполняется switch, JavaScript сравнивает значение выражения с каждым значением case.
Если значение выражения совпадает с каким-либо значением case, то выполняется код в этом блоке case.
Если ни один из блоков case не совпадает, то выполняется код в блоке default (если он есть).

2. Ключевое слово break используется для прерывания выполнения switch после выполнения кода в соответствующем блоке case.

Если break не использовать, то выполнение кода будет продолжаться и в следующих блоках case, даже если они не совпадают со значением выражения.


👉 @code_ready | #собеседование
👍27🔥9
Методы Set в JavaScript

Set – это коллекция уникальных значений любого типа данных. Используется для хранения уникальных элементов в произвольном порядке.

👉 @code_ready | #шпаргалка
🔥25👍12
Создание неонового текста

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

К text-shadow мы можем применить к нему несколько теней, просто разделив их запятыми.

body {
background-color: #000;
}
h1 {
font-size: 100px;
color: #fff;
text-transform: uppercase;
font-family: sans-serif;
text-shadow: 0 0 5px #ffffff, 0 0 10px #ffffff, 0 0 20px #ffffff, 0 0 40px #b303f8, 0 0 80px #b303f8, 0 0 90px #b303f8, 0 0 100px #b303f8, 0 0 150px #b303f8;
text-align: center;
}


👉 @code_ready | #обучение #css
🔥35👍11
Дополнительные фильтры для картинок

Свойство filter в CSS предлагает еще несколько фильтров, которые можно применить к изображениям.

• Атрибут opacity изменяет прозрачность изображения. Он принимает значения от 0 (полностью прозрачно) до 1 (полностью непрозрачно).
• Атрибут hue-rotate позволяет вращать цветовой круг изображения, тем самым изменяя его цвет. Он принимает значения в градусах (deg).

Эти фильтры можно использовать по отдельности или комбинировать для создания различных визуальных эффектов.

👉 @code_ready | #свойство #css
🔥22👍14
Вопрос с собеседования

Разница между
event.target и event.currentTarget?

Ответ:


В JavaScript, при обработке событий, объект event предоставляет нам доступ к различным свойствам и методам, связанным с этим событием.
Свойства
event.target и event.currentTarget часто путают, но между ними есть существенная разница:

1. event.target:

Это ссылка на элемент, на котором произошло событие. То есть, это фактический элемент, который вызвал событие.
event.target будет ссылаться на элемент button, если кликнуть по нему, так как именно он вызвал событие.

2. event.currentTarget

Это ссылка на элемент, на котором обработчик события был прикреплен. То есть, это элемент, который мы использовали для прикрепления обработчика события.
event.currentTarget будет ссылаться на элемент div, так как именно на него мы прикрепили обработчик события.


В примере кода видно, что при клике на кнопку внутри div, event.target будет ссылаться на элемент button, а event.currentTarget на элемент div.

👉 @code_ready | #собеседование
👍49🔥9
This media is not supported in your browser
VIEW IN TELEGRAM
Адаптивное меню с анимацией "бургер"

Пользователи сайта могут иметь разную ширину экрана, так как же дать всем удобный доступ к меню сайта?

Для таких случаев используют анимацию бургер, она сворачивает все меню в 1 значок, который при нажатии разворачивает его вертикально

В меню так же реализовано изменение цвета при наведении

😸 Готовый код для этого примера, я оставлю в моем репозитории на GitHub

👉 @code_ready | #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥10
👍15🔥5
Что будет в консоли?
Anonymous Quiz
39%
9
48%
10
2%
11
11%
error
👍22🔥7
📱 Как работает map.entries() ?

Функция Map.entries() возвращает новый итератор, который содержит массивы [ключ, значение] для каждой пары элементов в объекте map, в порядке их добавления в объект.

Этот метод может быть полезен, когда нужно пройтись по всем элементам объекта Map и выполнить какое-либо действие с каждой парой.

Map.entries() возвращает итератор, а не массив, для массива в результате стоит использовать другие методы


➡️ @code_ready | #функция #js
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍9
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 Captcha generator

Автоматическая генерация рандомной капчи, присутствует проверка на правильность ввода кода.

Готовый код: Ссылочка

➡️ @code_ready | #кодпен
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥7👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Исправление орфографических ошибок

Code Spell Checker — это расширение для VSCode.
Цель которого проверка орфографии и помощь выявить распространенные орфографические ошибки, далее исправить их.

➡️ @code_ready | #плагин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🔥7
👩‍💻 Вопрос с собеседования

Как реализованы принципы ООП в JavaScript, приведите примеры

Ответ:


1. Инкапсуляция — сокрытие деталей реализации объекта от внешнего мира. В JS инкапсуляция достигается с помощью замыканий и модулей.
function Counter() {
let count = 0;
this.increment = function() {
count++;
};
this.getCount = function() {
return count;
};
}
const counter = new Counter();
counter.increment();
console.log(counter.getCount()); // 1
console.log(counter.count); // undefined


2. Наследование — возможность создавать новые классы на основе существующих. В JS наследование реализуется с помощью прототипов. Объект может наследовать свойства и методы от другого объекта, который называется его прототипом.
function Animal(name) {
this.name = name;
}
Animal.prototype.sayName = function() {
console.log(`My name is ${this.name}`);
};
function Cat(name) {
Animal.call(this, name);
}
Cat.prototype = Object.create(Animal.prototype);
Cat.prototype.constructor = Cat;
const cat = new Cat('Tom');
cat.sayName(); // My name is Tom


3. Полиморфизм — возможность использовать один и тот же интерфейс для разных типов данных. В JS полиморфизм реализуется с помощью переопределения методов и динамического типирования.
function drawShape(shape) {
if (shape.type === 'circle') {
console.log('Drawing a circle');
} else if (shape.type === 'square') {
console.log('Drawing a square');
}
}
const circle = { type: 'circle' };
const square = { type: 'square' };
drawShape(circle); // Рисуем круг
drawShape(square); // Рисуем квадрат


4. Абстракция — способность скрывать детали реализации и предоставлять только необходимый интерфейс. В JS абстракция достигается с помощью интерфейсов и абстрактных классов.
function createAnimal(name, sound) {
return {
name: name,
makeSound: function() {
console.log(sound);
}
};
}
const cat = createAnimal('Cat', 'Meow');
const dog = createAnimal('Dog', 'Woof');
cat.makeSound(); // Meow
dog.makeSound(); // Woof


➡️ @code_ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥18😁1
👩‍💻 Свойство mix-blend-mode

С помощью свойства mix-blend-mode, можно изменять способ смешивания цветов элемента с его фоновым изображением или цветом.

Принимает следующие значения:

normal - элемент не смешивается с фоном (по умолчанию)
multiply - умножение цвета элемента на цвет фона
screen - инвертирование умножения инверсии цвета элемента на инверсию цвета фона
overlay - смешивание multiply и screen, в зависимости от прозрачности элемента
darken - использует более темный цвет из элемента или фона
lighten - использует более светлый цвет из элемента или фона
color-dodge - уменьшает насыщенность цвета фона в соответствии с цветом элемента
color-burn - увеличивает насыщенность цвета фона в соответствии с цветом элемента

Остальные принимаемые значения оставлю в комментариях


➡️ @code_ready | #свойство #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥8
🖥 Как работает Object.create()?

Метод Object.create cоздает новый объект с указанным прототипом и свойствами.

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

Если первый аргумент не передан или равен null, то новый объект будет создан с Object.prototype в качестве прототипа.

➡️ @code_ready | #функция #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Интерфейс выбора файлов

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

😸 Готовый код для реализации этой анимации, я оставлю в моем репозитории на GitHub

➡️ @code_ready | #github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍13👎1
📄 Примитивы в JavaScript - это миф?

В данной статье разберем как в JavaScript реализованы примитивные типы данных.

На примерах с графиками сравним выделения памяти для них и придем к неочевидному выводу

Ссылочка: https://habr.com/ru/articles/824614/

➡️ @code_ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Doka — это полезный сайт для веб-разработчиков, предоставляющий исчерпывающие руководства и справочники по HTML, CSS и JavaScript.

Ссылочка: https://doka.guide/

➡️ @code_ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥12
👩‍💻 Вопрос с собеседования

Как реализовать асинхронное программирование в JavaScript?

Ответ:


1. Использование колбэков: асинхронный код может быть реализован с помощью колбэков, которые выполняются после завершения асинхронной операции.
// Функция с колбэком
function fetchData(callback) {
setTimeout(() => {
callback('Data received');
}, 1000);
}
fetchData(data => {
console.log(data); // Data received
});


2. Использование промисов: представляют результат асинхронной операции и могут находиться в одном из трёх состояний: ожидание, выполнено, отклонено.
// Функция возвращает промис
function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Data received');
}, 1000);
});
}
fetchData().then(data => {
console.log(data); // Data received
});


3. Использование async/await: предоставляет синтаксический сахар для работы с промисами, делая асинхронный код более читаемым.
// Функция возвращает промис
function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Data received');
}, 1000);
});
}
// Асинхронная функция с await
async function getData() {
const data = await fetchData();
console.log(data); // Data received
}
getData();


➡️ @code_ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥7
Как работает Array,map() в JS?

Функция Array,map: Создает новый массив путем вызова указанной функции для каждого элемента исходного массива и собирает результаты в новый массив.

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

Callback может принимать до трёх аргументов:
currentValue екущий обрабатываемый элемент массива.
index — Индекс текущего обрабатываемого элемента в массиве.
array Массив, по которому осуществляется проход.
• Также есть необязательный аргумент thisArg — значение, используемое в качестве this при вызове функции callback

Пример кода:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]


➡️ @code_ready | #функция #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥7
👍10🔥3👎1