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

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

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

По всем вопросам пишите сюда - @yankovsky_ads
Download Telegram
Пояснение к ответу

Постфиксный оператор ++:

- возвращает значение (0);
- увеличивает (инкрементирует) значение (после чего значением переменной number становится 1).

Префиксный оператор ++:
- инкрементирует значение (теперь number === 2);
- возвращает значение (2). Результат: 0 2 2.
🔥13
TypeScript: лучшие практики

TypeScript используется все чаще, начиная небольшими пет-проектами и заканчивая огромнейшими веб-приложениями. Но разработчики до сих пор не всегда используют всю мощь этого языка и совершают ошибки. Например, на некоторых проектах можно встретить кучу any и Function.

Давайте разберемся используете ли вы этот невероятно мощный инструмент правильно

Ссылка

#ts
👍5🔥1👏1💩1

function getPersonInfo(one, two, three) {
console.log(one)
console.log(two)
console.log(three)
}

const person = "John"
const age = 30

getPersonInfo`${person} is ${age} years old`
🤯8
Пояснение к посту

При использовании тегированных шаблонных литералов (tagged template literals) первым значением, возвращаемым функцией, является массив строк. Прочими значениями являются значения, переданные функции в качестве аргументов.
🤡9👍2🔥2👏1
Организация кода это важно и легко на основе Layer Architecture

Думаю многие читали кучу книжек по поводу Hexagonal, Onion, Clean, Layer Architecture и у вас могли остаться спорные вопросы как в сложности понимания материала, так и в реализации данных подходов в ваших проектах. Сегодня я хочу затронуть тему “Организации кода” и показать насколько это важно и легко одновременно на примере Layer Architecture (Слоистая архитектура).

Ссылка

#статьи
👍5🤯1👌1

function checkAge(data) {
if (data === { age: 18 }) {
console.log("Ты взрослый!")
} else if (data == { age: 18 }) {
console.log("Ты по-прежнему взрослый.")
} else {
console.log("Хм... У тебя что, нет возраста?")
}
}

checkAge({ age: 18 })
👍4🤯1
Пояснение к ответу

В операциях сравнения примитивы сравниваются по значениям, а объекты - по ссылкам. JavaScript проверяет, чтобы объекты указывали на одну и ту же область памяти. Сравниваемые объекты в рассматриваемом примере не такие: объект, переданный в качестве аргумента, указывает на другое место в памяти, нежели объекты, используемые в сравнениях. Поэтому выражения { age: 18 } === { age: 18 } и { age: 18 } == { age: 18 } возвращают false.
5👍4

function getAge(...args) {
console.log(typeof args)
}

getAge(30)
👍3
Что будет в консоли ?
Anonymous Quiz
20%
number
35%
array
41%
object
4%
NaN
🤯4
React-хуки useEffect и useLayoutEffect: различие и примеры использования

С появлением хуков в React 16.8 стиль написания функциональных компонентов кардинально изменился. Входящие в число этих хуков useEffect и useLayoutEffect играют особую роль в обработке побочных эффектов в коде. На первый взгляд они могут казаться похожими, однако между ними есть несколько существенных различий. Рассмотрим эти различия, чтобы выяснить, когда в React-проекте стоит использовать useEffect, а когда  —  useLayoutEffect.

Ссылка

#статьи
👍7👏2🔥1

function getAge() {
"use strict"
age = 30
console.log(age)
}

getAge()
Что будет в консоли ?
Anonymous Quiz
29%
30
15%
undefined
53%
ошибка
3%
NaN
Пояснение к ответу

"use strict", среди прочего, позволяет предотвратить случайное объявление глобальных переменных. Мы не объявляли переменную age, поэтому (в строгом режиме) выбрасывается исключение ReferenceError. В нестрогом режиме ошибки не возникнет, а переменная age станет свойством глобального объекта window.
Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport

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

Ссылка

#статьи
👍4

const sum = eval("10*10+5")

console.log(sum)
🥴5🤯1
Что будет в консоли ?
Anonymous Quiz
42%
105
22%
"105"
8%
ошибка
29%
"10*10+5"
🤡13👍2
Пояснение к ответу

Функция eval выполняет код, переданный ей в виде строки. Если это выражение (как в данном случае), то оно вычисляется (оценивается). Выражение 10 * 10 + 5 возвращает число 105. Использовать eval не рекомендуется по причинам безопасности.
👍5
Docker — не то, чем кажется

Как это часто бывает, с мультиплатформенностью и прочими «красивыми» словами в IT, всё не так однозначно. У всего своя цена, и под капотом один и тот же инструмент на разных системах, по сути своей может представлять из себя несколько разных вещей с различными принципами работы и производительностью. А обещания революции скрывают за собой эволюцию, либо вовсе регресс и топтание на месте.

Ссылка

#статьи
👍8🔥1😁1

var num = 8
var num = 10

console.log(num)
🤯3