Де ви витрачаєте найбільше часу?
Anonymous Poll
70%
Telegram
20%
Instagram
13%
Tik-Tok
3%
Facebook
5%
Twitter
46%
YouTube
8%
Інше
👍4❤3🔥1
Чим стрілочна функція відрізняється від звичайної? 🤓
Здивовані, що раніше про це не писали. Були тести, але повного розбору не було, а це важливо знати як і на співбесіді, так і в роботі.
Вирішили створити окрему статтю, щоб все було наглядно і з прикладами.
Тому, запрошуємо до прочитання 💛
👉 Відкрити посилання
#interview
Здивовані, що раніше про це не писали. Були тести, але повного розбору не було, а це важливо знати як і на співбесіді, так і в роботі.
Вирішили створити окрему статтю, щоб все було наглядно і з прикладами.
Тому, запрошуємо до прочитання 💛
👉 Відкрити посилання
#interview
👍16🔥8❤2
Що виведе консоль?
Anonymous Quiz
9%
undefined false
15%
undefined true
24%
quiz false
52%
quiz true
👍11❤3🔥2
#todo написати функцію на будь-якій мові програмування, яка приймає повний шлях до файлу та повертає число.
Файл може містити довільну кількість рядків, кожен з яких містить мінімум одну цифру. Необхідно знайти першу та останню цифру та скласти їх в число. Функція має сформувати числа для кожного рядка та повернути їх суму.
Наприклад:
Файл може містити довільну кількість рядків, кожен з яких містить мінімум одну цифру. Необхідно знайти першу та останню цифру та скласти їх в число. Функція має сформувати числа для кожного рядка та повернути їх суму.
Наприклад:
abc1def2 => 12
dhij3klm => 33
4no5p6qr => 46
Результат = 91
🤔5👍4
Function overload 🥵
Можливо, ви коли-небудь працювали з мовою, яка дозволяє перевантажувати функції. В
Нехай вам чомусь потрібна функція
Спочатку, потрібно написати "голову" функції для кожного випадку. У вас обовʼязково має бути різний список аргументів (за довжиною чи за типом).
Після цього вам необхідно написати саме тіло функції. Воно обовʼязково має задовольняти кожне попереднє оголошення функції.
Зауважте, що
Отак не вийде зробити, адже немає функції
Якщо хочете дослідити це питання більше, нижче додаємо вам посилання на Handbook TypeScript.
👉 Відкрити посилання
#tips
Можливо, ви коли-небудь працювали з мовою, яка дозволяє перевантажувати функції. В
JavaScript
такої потреби немає, адже немає статичної типізації. В TypeScript
, хоч типи і не такі як в компільованих мовах, перевантаження функцій теж доступне.Нехай вам чомусь потрібна функція
convert
, яка перетворює boolean
в number
, а number
в string
. Звісно, можна спробувати Generics
, але тут можна обійтись і без них, просто перевантаживши функцію.Спочатку, потрібно написати "голову" функції для кожного випадку. У вас обовʼязково має бути різний список аргументів (за довжиною чи за типом).
function convert(x: boolean): number;
function convert(x: number): string;
Після цього вам необхідно написати саме тіло функції. Воно обовʼязково має задовольняти кожне попереднє оголошення функції.
function convert(x: boolean | number): number | string {
return typeof x === "boolean" ? Number(x) : String(x)
}
Зауважте, що
TypeScript
буде використовувати лише оголошення без тіла функції, коли працюватиме з типізацією. Виглядатиме все так, наче у вас дві різні функції, проте з однаковим іменем.convert(Math.random() > 0.5 ? true : 1)
Отак не вийде зробити, адже немає функції
convert
, яка може прийняти boolean | number
, вона може прийняти лише конкретно boolean
або number. Саме ця частина спочатку часто може збивати з пантелику.Якщо хочете дослідити це питання більше, нижче додаємо вам посилання на Handbook TypeScript.
👉 Відкрити посилання
#tips
👍10🔥3❤1
Всі шляхи цього місяця ведуть на найбільший нетворк IT-спільноти. Вибачте, без варіантів. 31 серпня, Київ, Unit City.
До зустрічі, квитки тут! Програма 👉 https://dou.ua/goto/RlpI
До зустрічі, квитки тут! Програма 👉 https://dou.ua/goto/RlpI
👍4❤2🐳2
Welcome!
Let's practice our English! So...
👉 What was the last photo you took? Why did you take it?
Have a nice #english_friday 💛
Let's practice our English! So...
👉 What was the last photo you took? Why did you take it?
Have a nice #english_friday 💛
👍5❤3
string & {} 🤯
Буває ж таке, що в
Ось оцей
#tips
Буває ж таке, що в
TypeScript
вам потрібно створити тип, який наче і може бути будь-яким рядком тексту, але ви б хотіли ще додати підказки від IDE про якісь певні варіанти. От, наприклад:
type Color = "primary" | "secondary" | string
Ось оцей
|
string
все псує і через нього немає жодних підказок. Тому, ловіть спосіб, як це можна пофіксити:
type Color = "primary" | "secondary" | (string & {})
#tips
👍16😱5❤2
Який HTTP header вказує на тип даних/media поточного повідомлення?
Anonymous Quiz
3%
Accept
89%
Content-Type
6%
Content-Encoding
2%
Set-Cookie
👍11🔥3❤1🕊1
String as Component 🎭
А ви знали, що в React можна string відрендерити як компоненту?
Тут зовсім ніякої магії, просто JSX закриває від нас
А ви знали, що в React можна string відрендерити як компоненту?
const Component = "div";
return <Component>some content</Component>
Тут зовсім ніякої магії, просто JSX закриває від нас
React.createElement
.👍9🔥2😱2⚡1
Decorators in JS 🎄
І хоч в самій специфікації ECMAScript декоратори на стадії пропозиції та плану, їх вже можна спробувати завдяки TypeScript чи Babel.
Отож, що воно таке? Почнемо з маленьких аналогій. Якщо ви працювали з Python, то можливо вже зустрічали там декоратори, і там вони працюють десь з таким ж принципом. Або ж, можливо, ви вивчали патерни і зустрічали там однойменний структурний патерн. Мета декораторів - динамічно навішати певний функціонал. Стандартний приклад - вивести повідомлення перед початком виконання функції та після її завершення.
Синтаксис використання декораторів. Перед оголошенням класу, його методу чи властивості необхідно додати імʼя декоратора з префіксом @. Наприклад:
Декоратори можуть створюватись динамічно, тому наступний синтаксис теж цілком можливий:
Як написати свої декоратори? Тут трохи більше деталей, тому ми думаємо, що краще використати документацію 🙂
Декоратори можна зустріти, наприклад, у NestJS, де зокрема з їх допомогою працює Dependency Injection.
👉 Відкрити документацію
👉 Відкрити статтю про патерн
#interview
І хоч в самій специфікації ECMAScript декоратори на стадії пропозиції та плану, їх вже можна спробувати завдяки TypeScript чи Babel.
Отож, що воно таке? Почнемо з маленьких аналогій. Якщо ви працювали з Python, то можливо вже зустрічали там декоратори, і там вони працюють десь з таким ж принципом. Або ж, можливо, ви вивчали патерни і зустрічали там однойменний структурний патерн. Мета декораторів - динамічно навішати певний функціонал. Стандартний приклад - вивести повідомлення перед початком виконання функції та після її завершення.
Синтаксис використання декораторів. Перед оголошенням класу, його методу чи властивості необхідно додати імʼя декоратора з префіксом @. Наприклад:
class Pokemon {
@log
attack() { }
}
Декоратори можуть створюватись динамічно, тому наступний синтаксис теж цілком можливий:
class Pokemon {
@log({ level: "debug" })
attack() { }
}
Як написати свої декоратори? Тут трохи більше деталей, тому ми думаємо, що краще використати документацію 🙂
Декоратори можна зустріти, наприклад, у NestJS, де зокрема з їх допомогою працює Dependency Injection.
Зверніть увагу, що в документації за посиланням нижче є банер з посиланням на статтю про декоратори із стадії 3.
👉 Відкрити документацію
👉 Відкрити статтю про патерн
#interview
👍12🔥2🤯2
👍7🤔5❤1
#todo написати функцію на будь-якій мові програмування, яка приймає масив чисел та повертає 2 найбільших числа.
❗️Обовʼязкова умова - не використовувати сортування.
❗️Обовʼязкова умова - не використовувати сортування.
🤔8👍4🤓2❤1
?n=u&q=s ❓
Часто хорошою практикою є використання певних параметрів у URL сторінки. Завдяки такій техніці можна легко поділитися посиланням та зберегти порядок сортування, фільтрування чи номер сторінки.
Але обробляти оце все - не найлегша робота. Потрібно парсити query параметри, реагувати на зміни і власне змінювати їх в посиланні, бажано через shallow роутинг (без перезавантаження сторінки).
Тож, якщо ви використовуєте Next.js, зверніть увагу на nuqs. Дуже проста і корисна бібліотека, яка дозволить працювати з query параметрами, як з звичайним станом в React.
👉 Відкрити посилання
#library
Часто хорошою практикою є використання певних параметрів у URL сторінки. Завдяки такій техніці можна легко поділитися посиланням та зберегти порядок сортування, фільтрування чи номер сторінки.
Але обробляти оце все - не найлегша робота. Потрібно парсити query параметри, реагувати на зміни і власне змінювати їх в посиланні, бажано через shallow роутинг (без перезавантаження сторінки).
Тож, якщо ви використовуєте Next.js, зверніть увагу на nuqs. Дуже проста і корисна бібліотека, яка дозволить працювати з query параметрами, як з звичайним станом в React.
👉 Відкрити посилання
#library
❤8🔥5👍3🤷1
Welcome!
Let's practice our English! So...
👉 If you could spend a day with any historical figure, who would it be and why?
Have a nice #english_friday 💛
Let's practice our English! So...
👉 If you could spend a day with any historical figure, who would it be and why?
Have a nice #english_friday 💛
👍4🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
#how_to створити shimmer wave text animation 🎉
Виконаний з допомогою HTML, SASS і JavaScript!
👉 Відкрити посилання
Виконаний з допомогою HTML, SASS і JavaScript!
👉 Відкрити посилання
👍4🔥2❤1
З цими салютами і відключеннями електрохарчування, забули прийняти ваші ставки - чи блокуватимуть Telegram?
Anonymous Poll
17%
Так
70%
Ні
13%
Ви про шо?
👍3❤1😁1