let number = 0
console.log(number++)
console.log(++number)
console.log(number)
🤯3👍1
  Пояснение к ответу 
Постфиксный оператор ++:
- возвращает значение (0);
- увеличивает (инкрементирует) значение (после чего значением переменной number становится 1).
Префиксный оператор ++:
- инкрементирует значение (теперь number === 2);
- возвращает значение (2). Результат: 0 2 2. 
- возвращает значение (0);
- увеличивает (инкрементирует) значение (после чего значением переменной number становится 1).
Префиксный оператор ++:
- инкрементирует значение (теперь number === 2);
- возвращает значение (2). Результат: 0 2 2.
🔥13
  TypeScript: лучшие практики 
TypeScript используется все чаще, начиная небольшими пет-проектами и заканчивая огромнейшими веб-приложениями. Но разработчики до сих пор не всегда используют всю мощь этого языка и совершают ошибки. Например, на некоторых проектах можно встретить кучу any и Function.
Давайте разберемся используете ли вы этот невероятно мощный инструмент правильно
Ссылка
#ts
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
  Что будет в консоли ?
  Anonymous Quiz
    17%
    John 30 ["", " is ", " years old"]
      
    21%
    ["", " is ", " years old"] John 30
      
    8%
    John ["", " is ", " years old"] 30
      
    54%
    undefined
      
    👏1
  Пояснение к посту 
При использовании тегированных шаблонных литералов (tagged template literals) первым значением, возвращаемым функцией, является массив строк. Прочими значениями являются значения, переданные функции в качестве аргументов. 
🤡9👍2🔥2👏1
  Организация кода это важно и легко на основе Layer Architecture
Думаю многие читали кучу книжек по поводу Hexagonal, Onion, Clean, Layer Architecture и у вас могли остаться спорные вопросы как в сложности понимания материала, так и в реализации данных подходов в ваших проектах. Сегодня я хочу затронуть тему “Организации кода” и показать насколько это важно и легко одновременно на примере 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
  Что будет в консоли ?
  Anonymous Quiz
    24%
    Ты взрослый!
      
    23%
    Ты по-прежнему взрослый.
      
    45%
    Хм... У тебя что, нет возраста?
      
    8%
    undefined
      
    Пояснение к ответу 
В операциях сравнения примитивы сравниваются по значениям, а объекты - по ссылкам. JavaScript проверяет, чтобы объекты указывали на одну и ту же область памяти. Сравниваемые объекты в рассматриваемом примере не такие: объект, переданный в качестве аргумента, указывает на другое место в памяти, нежели объекты, используемые в сравнениях. Поэтому выражения { age: 18 } === { age: 18 } и { age: 18 } == { age: 18 } возвращают false. 
❤5👍4
  🤯4
  React-хуки useEffect и useLayoutEffect: различие и примеры использования
С появлением хуков в React 16.8 стиль написания функциональных компонентов кардинально изменился. Входящие в число этих хуков useEffect и useLayoutEffect играют особую роль в обработке побочных эффектов в коде. На первый взгляд они могут казаться похожими, однако между ними есть несколько существенных различий. Рассмотрим эти различия, чтобы выяснить, когда в React-проекте стоит использовать useEffect, а когда — useLayoutEffect.
Ссылка
#статьи
С появлением хуков в React 16.8 стиль написания функциональных компонентов кардинально изменился. Входящие в число этих хуков useEffect и useLayoutEffect играют особую роль в обработке побочных эффектов в коде. На первый взгляд они могут казаться похожими, однако между ними есть несколько существенных различий. Рассмотрим эти различия, чтобы выяснить, когда в React-проекте стоит использовать useEffect, а когда — useLayoutEffect.
Ссылка
#статьи
👍7👏2🔥1
  Пояснение к ответу 
"use strict", среди прочего, позволяет предотвратить случайное объявление глобальных переменных. Мы не объявляли переменную age, поэтому (в строгом режиме) выбрасывается исключение ReferenceError. В нестрогом режиме ошибки не возникнет, а переменная age станет свойством глобального объекта window. 
  Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport
В этой статье мы подробно разберём данные технологии, сравним их производительность, подчеркнём их достоинства и недостатки, а также порекомендуем, что делать в различных практических случаях, расскажем, как принимать информированные решения при создании веб-приложений реального времени. Эта статья — экстракт моего совокупного опыта, приобретённого в ходе реализации протокола репликации RxDB, обеспечивающего совместимость с различными технологиями серверной части.
Ссылка
#статьи
В этой статье мы подробно разберём данные технологии, сравним их производительность, подчеркнём их достоинства и недостатки, а также порекомендуем, что делать в различных практических случаях, расскажем, как принимать информированные решения при создании веб-приложений реального времени. Эта статья — экстракт моего совокупного опыта, приобретённого в ходе реализации протокола репликации RxDB, обеспечивающего совместимость с различными технологиями серверной части.
Ссылка
#статьи
👍4
  🤡13👍2
  Пояснение к ответу 
Функцияevalвыполняет код, переданный ей в виде строки. Если это выражение (как в данном случае), то оно вычисляется (оценивается). Выражение10 * 10 + 5возвращает число105. Использоватьevalне рекомендуется по причинам безопасности.
👍5
  