This media is not supported in your browser
VIEW IN TELEGRAM
👩💻 Lume Image Carousel
Стилизованная карусель с эффектом глянца. Сделана на Lume 3D, CSS и JavaScript.
#codepen
Original post link: t.me/frontendnoteschannel/3549
Forwarded and filtered by @smartfeed_bot
Стилизованная карусель с эффектом глянца. Сделана на Lume 3D, CSS и JavaScript.
#codepen
Original post link: t.me/frontendnoteschannel/3549
Forwarded and filtered by @smartfeed_bot
JavaScript. Что будет выведено в консоль?
Ответ
Original post link: t.me/senior_front/1990
Forwarded and filtered by @smartfeed_bot
Ответ
Original post link: t.me/senior_front/1990
Forwarded and filtered by @smartfeed_bot
This is a daily stats digest!
Today the bot processed: 7 messages
Today you received: 6 messages
Our filtering prevented you from: 1 messages
Top 3 source channels:
Senior Frontend - javascript, html, css: 3 message(s)
Frontender's notes [ru]: 2 message(s)
Веб-страница: 1 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 7 messages
Today you received: 6 messages
Our filtering prevented you from: 1 messages
Top 3 source channels:
Senior Frontend - javascript, html, css: 3 message(s)
Frontender's notes [ru]: 2 message(s)
Веб-страница: 1 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.
This media is not supported in your browser
VIEW IN TELEGRAM
Text Morph
Анимация трансформации текста. Написана на чистом CSS.
https://codepen.io/Valgo/pen/PowZaNY
Original post link: t.me/senior_front/1991
Forwarded and filtered by @smartfeed_bot
Анимация трансформации текста. Написана на чистом CSS.
https://codepen.io/Valgo/pen/PowZaNY
Original post link: t.me/senior_front/1991
Forwarded and filtered by @smartfeed_bot
🔥 Это база с 1400 вопросов с собеседований на Frontend разработчика. Фишка в том, что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам 😏
Original post link: t.me/senior_front/1992
Forwarded and filtered by @smartfeed_bot
Original post link: t.me/senior_front/1992
Forwarded and filtered by @smartfeed_bot
Telegram
Frontend | Вопросы собесов
Сайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp
Тесты t.me/+T0COHtFzCJkwMDUy
Задачи t.me/+_tcX2w2EmvdmMTgy
Вакансии t.me/+CgCAzIyGHHg0Nzky
Реклама @easyoffer_adv
ВП @easyoffer_vp
Тесты t.me/+T0COHtFzCJkwMDUy
Задачи t.me/+_tcX2w2EmvdmMTgy
Вакансии t.me/+CgCAzIyGHHg0Nzky
🐙 DrawDB – бесплатный, простой и интуитивно понятный инструмент для дизайна баз данных, а также генератор SQL. В приложение также можно импортировать DDL-скрипты и JSON-файлы, чтобы построить на их основе диаграммы.
Сайтодел | #репозиторий #github
Original post link: t.me/sitodel/1756
Forwarded and filtered by @smartfeed_bot
Сайтодел | #репозиторий #github
Original post link: t.me/sitodel/1756
Forwarded and filtered by @smartfeed_bot
Forwarded from Senior Frontend - javascript, html, css
.with()
Метод with() изменяет значение одного из элементов массива и возвращает новый массив, без изменения исходного массива.
Пример
Изменим элемент 'white' на 'blue':
Как пишется
Array.with() принимает два аргумента:
1. индекс элемента, который нужно изменить;
2. новое значение изменяемого элемента.
Индекс элемента может быть:
- положительный — для доступа к элементам от начала массива;
- отрицательный — для доступа к элементам с конца массива. Например, -1 — индекс последнего элемента, -2 — предпоследнего и т. д.
Array.with() возвращает массив с изменённым элементом.
Вызов with() без аргументов, не приведёт к ошибке. Это равнозначно вызову with(0, undefined):
👉 @seniorFront
Метод with() изменяет значение одного из элементов массива и возвращает новый массив, без изменения исходного массива.
Пример
Изменим элемент 'white' на 'blue':
const colors = ['red', 'green', 'white']
const newColors = colors.with(2, 'blue')
console.log(newColors)
// ['red', 'green', 'blue']
// Исходный массив остался прежним
console.log(colors)
// ['red', 'green', 'white']Как пишется
Array.with() принимает два аргумента:
1. индекс элемента, который нужно изменить;
2. новое значение изменяемого элемента.
Индекс элемента может быть:
- положительный — для доступа к элементам от начала массива;
- отрицательный — для доступа к элементам с конца массива. Например, -1 — индекс последнего элемента, -2 — предпоследнего и т. д.
Array.with() возвращает массив с изменённым элементом.
Вызов with() без аргументов, не приведёт к ошибке. Это равнозначно вызову with(0, undefined):
👉 @seniorFront
Forwarded from Frontender's notes [ru]
Если вы правильно используете TypeScript, вы будете редко использовать явное утверждение типа (например
value as SomeType); однако иногда вы всё равно будет чувствовать побуждение, например:type Circle = { kind: 'circle'; radius: number };
type Rect = { kind: 'rect'; width: number; height: number };
type Shape = Circle | Rect;
function isCircle(shape: Shape) {
return shape.kind === 'circle';
}
function isRect(shape: Shape) {
return shape.kind === 'rect';
}
const myShapes: Shape[] = getShapes();
// ошибка, потому что typescript не знает, что фильтрация сужает множество
const circles: Circle[] = myShapes.filter(isCircle);
// возможно вы склонны добавить утверждение:
// const circles = myShapes.filter(isCircle) as Circle[];Более элегантное решение состоит в том, чтобы изменить
isCircle и isRect так, чтобы они вместо этого возвращали предикат типа, чтобы они помогли TypeScript ещё более сузить типы после вызова фильтра:function isCircle(shape: Shape): shape is Circle {
return shape.kind === 'circle';
}
function isRect(shape: Shape): shape is Rect {
return shape.kind === 'rect';
}
...
// теперь вы получаете правильно выведенный тип Circle[]
const circles = myShapes.filter(isCircle);Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Senior Frontend Developer | JavaScript, React, HTML & CSS
#вопросы_с_собеседований по React
Что такое ComponentWillUnmount()?
Эта функция вызывается после того, как элемент удаляется из DOM, и она очищает память, что помогает увеличить доступное пространство.
Укажите разницу между getIntialState() и constructor()?
Если вы хотите создать один компонент, расширив «React. Component», constructor поможет вам инициализировать состояние. Но если вы хотите создавать с помощью «React.createClass», вам следует использовать genInitialState.
Какая польза от пустых тегов <> </>?
Пустые теги используются в React для объявления фрагментов.
Объясните использование «ключа» в списке React
Ключи позволяют предоставить каждому элементу списка стабильную идентичность. Ключи должны быть уникальными.
Что такое чистые компоненты?
Чистые компоненты — это самые быстрые компоненты, которые могут заменить любой компонент только с помощью функции render(). Это помогает повысить простоту кода и производительность приложения.
Что такое ComponentWillUnmount()?
Эта функция вызывается после того, как элемент удаляется из DOM, и она очищает память, что помогает увеличить доступное пространство.
Укажите разницу между getIntialState() и constructor()?
Если вы хотите создать один компонент, расширив «React. Component», constructor поможет вам инициализировать состояние. Но если вы хотите создавать с помощью «React.createClass», вам следует использовать genInitialState.
Какая польза от пустых тегов <> </>?
Пустые теги используются в React для объявления фрагментов.
Объясните использование «ключа» в списке React
Ключи позволяют предоставить каждому элементу списка стабильную идентичность. Ключи должны быть уникальными.
Что такое чистые компоненты?
Чистые компоненты — это самые быстрые компоненты, которые могут заменить любой компонент только с помощью функции render(). Это помогает повысить простоту кода и производительность приложения.
This media is not supported in your browser
VIEW IN TELEGRAM
Amazing Product transition
Создано и анимировано на HTML и CSS.
👉 @seniorFront
Original post link: t.me/seniorFront/4052
Forwarded and filtered by @smartfeed_bot
Создано и анимировано на HTML и CSS.
👉 @seniorFront
Original post link: t.me/seniorFront/4052
Forwarded and filtered by @smartfeed_bot
This is a daily stats digest!
Today the bot processed: 10 messages
Today you received: 7 messages
Our filtering prevented you from: 3 messages
Top 3 source channels:
Senior Frontend Developer | JavaScript, React, HTML & CSS: 3 message(s)
Веб-страница: 2 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 10 messages
Today you received: 7 messages
Our filtering prevented you from: 3 messages
Top 3 source channels:
Senior Frontend Developer | JavaScript, React, HTML & CSS: 3 message(s)
Веб-страница: 2 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.
Forwarded from Senior Frontend - javascript, html, css
Куда подевались ваши манеры? Коллеги в IT
В данной статье автор делится своим опытом токсичного общения с коллегами, начиная с первой встречи с HR-менеджером и заканчивая работой внутри команды. Такое поведение серьезно подрывает мотивацию и нормальное взаимодействие в команде при решении возникающих проблем.
Первоначальное знакомство очень важно
Была компания в которую мне очень хотелось попасть, но разговоры с HR-менеджером постепенно и по-этапно отталкивали меня от этого решения. Все начинается с достаточно долгих ответов на вопросы с зазором от нескольких часов, до нескольких дней и тут возникает вообще мысль, а нужен ли я им как работник при отсутствии какого-то интереса к себе?
Будь внимателен на код-ревью, ведь нужно разнести код своего коллеги
Однажды я работал над разработкой общей библиотеки для всего цеха разработки и внёс небольшие изменения в логирование для улучшения производительности. Когда я создал мердж-реквест, начался сущий кошмар. От трех человек я получил более 70 замечаний, причем не только по моим изменениям, но и по тем, что они увидели в проекте, а также по своим пожеланиям относительно стиля кода.
Пришлось каждому отвечать, что данное замечание не относиться к задаче, а их некоторые пожелания не совпадают с единым стилем кода принятым в цехе разработки. Они соглашались, что их замечания не по делу и когда я начинал собирать апрувы, они старались искать все новые и новые замечания, так-как их предыдущее не получило одобрение. Самое интересное, что они начинали ругаться и с другими людьми, которые указывали замечания.
Будь почтителен со своими родителями, родственниками и с менеджером Иваном из своей компании
Пришла ко мне очередная бизнес-задача, уже с подготовленной документацией и согласованным архитектурным решением от менеджеров. Казалось бы, просто взял, реализовал, протестировал и выпустил в релиз, но менеджер Иван решил продемонстрировать свою важность, и релиз затянулся на неопределенный срок.
Всё началось с согласования мердж-реквеста в релизную ветку. На просьбы посмотреть и согласовать изначально был игнор, потому что Иван был очень занят согласованием других мердж-реквестов.
Заказчики уже ожидают функционала на продакшене, а я все еще не могу получить согласование от нашего менеджера. Это заставляет меня поднять вопрос на ретроспективе: почему этот менеджер взял на себя обязанности по согласованию всех задач в релизе и не может выполнять свою работу вовремя? Возможно, он вообще лишнее звено в этой бюрократической цепи. Другие разработчики тоже сообщают о таких проблемах, и наш тимлид решает провести разговор с Иваном и ускорить процесс.
Результатом данного разговора стало то, что Иван отказывается согласовывать данные доработки, аргументируя тем, что ему не устраивает архитектурное решение, хотя ранее он уже его согласовывал. Он указывает мне, что я должен посмотреть его расписание в календаре и назначить встречу с моим тимлидом и аналитиком, причем я не упоминаюсь в этой встрече. И разговор проходит в тоне, как-будто я секретарша, а он мой начальник, хотя в юридической структуре мой руководитель, мой тимлид.
Я решаю передать данную информацию своему тимлиду и дальше он уже отправляется разбираться с нашим менеджером. Как итог данного действия отложенный релиз на 2 месяца и множество созвонов и встреч, но функционал отправился в релиз в том виде в котором был разработан изначально.
И тут возникает вопрос: зачем всё это нужно? Почему, когда некоторые становятся столпами бюрократии, они начинают не решать проблемы, а создавать новые? Мне кажется, всё это происходит потому, что нужно демонстрировать руководству, как сильно ты зависишь от этого и как много ты работаешь, даже если эта работа не имеет реального значения.
👉 @seniorFront
В данной статье автор делится своим опытом токсичного общения с коллегами, начиная с первой встречи с HR-менеджером и заканчивая работой внутри команды. Такое поведение серьезно подрывает мотивацию и нормальное взаимодействие в команде при решении возникающих проблем.
Первоначальное знакомство очень важно
Была компания в которую мне очень хотелось попасть, но разговоры с HR-менеджером постепенно и по-этапно отталкивали меня от этого решения. Все начинается с достаточно долгих ответов на вопросы с зазором от нескольких часов, до нескольких дней и тут возникает вообще мысль, а нужен ли я им как работник при отсутствии какого-то интереса к себе?
Будь внимателен на код-ревью, ведь нужно разнести код своего коллеги
Однажды я работал над разработкой общей библиотеки для всего цеха разработки и внёс небольшие изменения в логирование для улучшения производительности. Когда я создал мердж-реквест, начался сущий кошмар. От трех человек я получил более 70 замечаний, причем не только по моим изменениям, но и по тем, что они увидели в проекте, а также по своим пожеланиям относительно стиля кода.
Пришлось каждому отвечать, что данное замечание не относиться к задаче, а их некоторые пожелания не совпадают с единым стилем кода принятым в цехе разработки. Они соглашались, что их замечания не по делу и когда я начинал собирать апрувы, они старались искать все новые и новые замечания, так-как их предыдущее не получило одобрение. Самое интересное, что они начинали ругаться и с другими людьми, которые указывали замечания.
Будь почтителен со своими родителями, родственниками и с менеджером Иваном из своей компании
Пришла ко мне очередная бизнес-задача, уже с подготовленной документацией и согласованным архитектурным решением от менеджеров. Казалось бы, просто взял, реализовал, протестировал и выпустил в релиз, но менеджер Иван решил продемонстрировать свою важность, и релиз затянулся на неопределенный срок.
Всё началось с согласования мердж-реквеста в релизную ветку. На просьбы посмотреть и согласовать изначально был игнор, потому что Иван был очень занят согласованием других мердж-реквестов.
Заказчики уже ожидают функционала на продакшене, а я все еще не могу получить согласование от нашего менеджера. Это заставляет меня поднять вопрос на ретроспективе: почему этот менеджер взял на себя обязанности по согласованию всех задач в релизе и не может выполнять свою работу вовремя? Возможно, он вообще лишнее звено в этой бюрократической цепи. Другие разработчики тоже сообщают о таких проблемах, и наш тимлид решает провести разговор с Иваном и ускорить процесс.
Результатом данного разговора стало то, что Иван отказывается согласовывать данные доработки, аргументируя тем, что ему не устраивает архитектурное решение, хотя ранее он уже его согласовывал. Он указывает мне, что я должен посмотреть его расписание в календаре и назначить встречу с моим тимлидом и аналитиком, причем я не упоминаюсь в этой встрече. И разговор проходит в тоне, как-будто я секретарша, а он мой начальник, хотя в юридической структуре мой руководитель, мой тимлид.
Я решаю передать данную информацию своему тимлиду и дальше он уже отправляется разбираться с нашим менеджером. Как итог данного действия отложенный релиз на 2 месяца и множество созвонов и встреч, но функционал отправился в релиз в том виде в котором был разработан изначально.
И тут возникает вопрос: зачем всё это нужно? Почему, когда некоторые становятся столпами бюрократии, они начинают не решать проблемы, а создавать новые? Мне кажется, всё это происходит потому, что нужно демонстрировать руководству, как сильно ты зависишь от этого и как много ты работаешь, даже если эта работа не имеет реального значения.
👉 @seniorFront
🖥 Подборка интересных статей за неделю
Original post link: t.me/frontendnoteschannel/3552
Forwarded and filtered by @smartfeed_bot
• Руководство по Next.js. 3/3• Ехал handler через handler, или почему всё тормозит• Контекст в Vue/Nuxt: осознать, не терять и беречь• Записываем музыку при помощи CSS Grid• Скрытый потенциал функции inject в AngularOriginal post link: t.me/frontendnoteschannel/3552
Forwarded and filtered by @smartfeed_bot
Forwarded from Веб-страница
Состоялся релиз минималистичного веб-браузера Dillo 3.1.0 спустя 9 лет перерыва в разработке проекта
Код Dillo написан на языке С/C++ с использованием библиотеки FLTK. Браузер отличается небольшим размером (исполняемый файл около мегабайта при статической сборке) и минимальным потреблением памяти, наличием графического интерфейса с поддержкой вкладок и закладок, поддержкой HTTPS и базового набора веб-стандартов (есть поддержка HTML 4.01 и CSS, но нет JavaScript). Функциональность Dillo может расширяться через плагины.
В 2016 году умер один из ключевых разработчиков проекта, а с 2017 года разработка Dillo полностью остановилась. Предыдущая стабильная версия Dillo 3.0.5 вышла в июне 2015 года. Релиз Dillo 3.0 состоялся в 2011 году.
В январе 2024 года была предпринята первая попытка возрождения проекта, результаты которой как раз представлены в составе этого обновления. Исходный код решения опубликован на GitHub под лицензией GPLv3: https://github.com/dillo-browser/dillo
#интернет #история
Код Dillo написан на языке С/C++ с использованием библиотеки FLTK. Браузер отличается небольшим размером (исполняемый файл около мегабайта при статической сборке) и минимальным потреблением памяти, наличием графического интерфейса с поддержкой вкладок и закладок, поддержкой HTTPS и базового набора веб-стандартов (есть поддержка HTML 4.01 и CSS, но нет JavaScript). Функциональность Dillo может расширяться через плагины.
В 2016 году умер один из ключевых разработчиков проекта, а с 2017 года разработка Dillo полностью остановилась. Предыдущая стабильная версия Dillo 3.0.5 вышла в июне 2015 года. Релиз Dillo 3.0 состоялся в 2011 году.
В январе 2024 года была предпринята первая попытка возрождения проекта, результаты которой как раз представлены в составе этого обновления. Исходный код решения опубликован на GitHub под лицензией GPLv3: https://github.com/dillo-browser/dillo
#интернет #история
Forwarded from Frontender's notes [ru]
Регулярные выражения в JavaScript имеют множество улучшений, включая поддержку Юникода с флагом u в ES2015. Флаг v, предложенный для замены флага u, добавляет дополнительные преимущества.
Он позволяет использовать нотацию набора
/set и искать пересечение двух шаблонов. Флаг v также решает проблемы с нечувствительностью к регистру, присущие флагу u. Этот флаг был реализован во всех основных браузерах и ожидается в спецификации ES2024.const isEmoji = /^\p{RGI_Emoji}$/v;
console.log(isEmoji.test("💚")); // true
console.log(isEmoji.test("🐨")); // trueconst isNotHeartEmoji = /^[\p{RGI_Emoji_Tag_Sequence}--\q{💜💚♥️💙🖤💛🧡🤍🤎}]$/v;
console.log(isNotHeartEmoji.test("💚")); // false
console.log(isNotHeartEmoji.test("🐨")); // trueconst GreekLetters = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;
console.log(GreekLetters.test('π')); // true
console.log(GreekLetters.test('𐆊')); // falsePlease open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Frontender's notes [ru]
Регулярные выражения в JavaScript имеют множество улучшений, включая поддержку Юникода с флагом u в ES2015. Флаг v, предложенный для замены флага u, добавляет дополнительные преимущества.
Он позволяет использовать нотацию набора
/set и искать пересечение двух шаблонов. Флаг v также решает проблемы с нечувствительностью к регистру, присущие флагу u. Этот флаг был реализован во всех основных браузерах и ожидается в спецификации ES2024.const isEmoji = /^\p{RGI_Emoji}$/v;
console.log(isEmoji.test("💚")); // true
console.log(isEmoji.test("🐨")); // trueconst isNotHeartEmoji = /^[\p{RGI_Emoji_Tag_Sequence}--\q{💜💚♥️💙🖤💛🧡🤍🤎}]$/v;
console.log(isNotHeartEmoji.test("💚")); // false
console.log(isNotHeartEmoji.test("🐨")); // trueconst GreekLetters = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;
console.log(GreekLetters.test('π')); // true
console.log(GreekLetters.test('𐆊')); // falsePlease open Telegram to view this post
VIEW IN TELEGRAM
#вопросы_с_собеседований
Что такое Веб-компоненты и какие технологии в них используются?
Веб-компоненты — технология, которая позволяет создавать многократно используемые компоненты в веб-документах и веб-приложениях. Веб-компоненты поддерживаются веб-браузерами напрямую и не требуют дополнительных библиотек для работы.
Веб-компоненты включают четыре технологии, каждая из которых может использоваться отдельно от других:
Custom Elements — API для создания собственных HTML элементов.
HTML Templates — тег позволяет реализовывать изолированные DOM-элементы.
Shadow DOM — изолирует DOM и стили в разных элементах.
HTML Imports — импорт HTML документов.
Original post link: t.me/senior_front/1994
Forwarded and filtered by @smartfeed_bot
Что такое Веб-компоненты и какие технологии в них используются?
Веб-компоненты — технология, которая позволяет создавать многократно используемые компоненты в веб-документах и веб-приложениях. Веб-компоненты поддерживаются веб-браузерами напрямую и не требуют дополнительных библиотек для работы.
Веб-компоненты включают четыре технологии, каждая из которых может использоваться отдельно от других:
Custom Elements — API для создания собственных HTML элементов.
HTML Templates — тег позволяет реализовывать изолированные DOM-элементы.
Shadow DOM — изолирует DOM и стили в разных элементах.
HTML Imports — импорт HTML документов.
Original post link: t.me/senior_front/1994
Forwarded and filtered by @smartfeed_bot
This is a daily stats digest!
Today the bot processed: 10 messages
Today you received: 6 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Веб-страница: 3 message(s)
Frontender's notes [ru]: 3 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 10 messages
Today you received: 6 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Веб-страница: 3 message(s)
Frontender's notes [ru]: 3 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.
This media is not supported in your browser
VIEW IN TELEGRAM
Smooth 3d perspective slider
Свёрстано при помощи препроцессоров Pug и SCSS. Функционал слайдера и логика поворота карточки реализована на чистом JS.
👉 @seniorFront
Original post link: t.me/seniorFront/4055
Forwarded and filtered by @smartfeed_bot
Свёрстано при помощи препроцессоров Pug и SCSS. Функционал слайдера и логика поворота карточки реализована на чистом JS.
👉 @seniorFront
Original post link: t.me/seniorFront/4055
Forwarded and filtered by @smartfeed_bot
Forwarded from Frontender's notes [ru]
Promise - это объект в JavaScript, который представляет результат асинхронной операции. Промис позволяет обрабатывать результат операции, когда он станет доступным, вместо того, чтобы блокировать выполнение кода и ожидать завершения операции.
🔽 Промис может находиться в одном из трех состояний:
Pending: Исходное состояние промиса. Он находится в ожидании выполнения или отклонения операции.
Fulfilled: Промис переходит в это состояние, когда операция успешно завершается. В этом случае промис возвращает результат операции.
Rejected: Промис переходит в это состояние, когда операция завершается с ошибкой. В этом случае промис возвращает причину ошибки.
🔽 Пример использования промиса:
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const data = 'Some data';
// Имитация успешного выполнения операции
resolve(data);
// Имитация ошибки
// reject('Error occurred');
}, 2000);
});
}
fetchData()
.then(result => {
console.log('Результат:', result);
})
.catch(error => {
console.log('Ошибка:', error);
});#Собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Light & Shadow Text Shadow Animation
В этом видео создается тень текста, при помощи CSS text-shadow, затем в JS изменяются параметры этой тени.
👉 @seniorFront
Original post link: t.me/seniorFront/4057
Forwarded and filtered by @smartfeed_bot
В этом видео создается тень текста, при помощи CSS text-shadow, затем в JS изменяются параметры этой тени.
👉 @seniorFront
Original post link: t.me/seniorFront/4057
Forwarded and filtered by @smartfeed_bot