Все про this в JavaScript
this - это выражение языка JavaScript, поведение которого очень похоже на поведение идентификатора, с той лишь разницей, что связать значение с this, мы можем только особой формой вызова normal function.
В этой статье автор подробно расскажет как же работает this в js
Ссылка
#js
this - это выражение языка JavaScript, поведение которого очень похоже на поведение идентификатора, с той лишь разницей, что связать значение с this, мы можем только особой формой вызова normal function.
В этой статье автор подробно расскажет как же работает this в js
Ссылка
#js
👍10❤3👏1
  let person = { name: 'Lydia' };
const members = [person];
person = null;
console.log(members);🤯10
  👍3
  Смотрите объяснение задачи вот по этой ссылке https://telegra.ph/Obyasnenie-zadachi-01-14
  
  Telegraph
  
  Обяснение задачи
  let person = { name: 'Lydia' }; const members = [person]; person = null; console.log(members); Сначала мы объявляем переменную person со значением объекта, у которого есть свойство name. Затем мы объявляем переменную с именем members. Мы устанавливаем первый…
👏14👍4🔥3
  Сложность алгоритмов. Разбор Big O
Сложность алгоритмов - это ключевой аспект при проектировании и создании веб-приложений, особенно при работе с большим объемом данных или выполнении вычислительно сложных операций. Понимание, как оценивать сложность алгоритмов, помогает принимать обоснованные решения в выборе алгоритмов и структур данных, а также оптимизировать производительность своих приложений.
Ссылка
#js
Сложность алгоритмов - это ключевой аспект при проектировании и создании веб-приложений, особенно при работе с большим объемом данных или выполнении вычислительно сложных операций. Понимание, как оценивать сложность алгоритмов, помогает принимать обоснованные решения в выборе алгоритмов и структур данных, а также оптимизировать производительность своих приложений.
Ссылка
#js
👍12🔥1
  Скрытые возможности элемента <input>
Элемент <input> в HTML самый интересный.
Большинство его собратьев вне зависимости от своих атрибутов ведут себя одинаково. При этом атрибут type элемента <input> может принимать 22 разных значения, которые не только меняют его поведение, но и влияют на внешний вид (зачастую в ущерб стилистике).
Элемент <input> отвечает за всё, начиная с текстового ввода и чекбоксов, заканчивая переключателями и кнопкой для сброса всех полей в форме.
В этой статье я опишу не только различные типы <input>, но и сопутствующие атрибуты, о которых вы могли не знать, и которые делают этот элемент более удобным и применимым в различных ситуациях.
Ссылка
#html
Элемент <input> в HTML самый интересный.
Большинство его собратьев вне зависимости от своих атрибутов ведут себя одинаково. При этом атрибут type элемента <input> может принимать 22 разных значения, которые не только меняют его поведение, но и влияют на внешний вид (зачастую в ущерб стилистике).
Элемент <input> отвечает за всё, начиная с текстового ввода и чекбоксов, заканчивая переключателями и кнопкой для сброса всех полей в форме.
В этой статье я опишу не только различные типы <input>, но и сопутствующие атрибуты, о которых вы могли не знать, и которые делают этот элемент более удобным и применимым в различных ситуациях.
Ссылка
#html
👍9🤔1
  Какие из этих значений являются "ложными" ?
  Anonymous Quiz
    30%
    0, "", undefined
      
    22%
    0, new Number(0), "", new Boolean(false), undefined
      
    16%
    0, "", new Boolean(false), undefined
      
    32%
    Все являются "ложными"
      
    JavaScript однопоточный или многопоточный? Ставим точку
Поводом для ревизии данного вопроса стало то, что я по сей день слышу от специалистов (в том числе позиционирующих себя как senior), что современный JavaScript является однопоточным. При этом они охотно задают этот вопрос на техническом интервью, вводя неуверенных кандидатов в заблуждение.
Ссылка
#js
Поводом для ревизии данного вопроса стало то, что я по сей день слышу от специалистов (в том числе позиционирующих себя как senior), что современный JavaScript является однопоточным. При этом они охотно задают этот вопрос на техническом интервью, вводя неуверенных кандидатов в заблуждение.
Ссылка
#js
❤9👏4👍3
  Особенности типов данных и преобразования в JavaScript
На первый взгляд тема типов данных и преобразований может показаться легкой.
Обычно она изучается в самом начале погружения в JavaScript. Однако в этих темах есть неочевидные подводные камни, которые знает далеко не каждый разработчик.
В этой статье мы рассмотрим особенности типов данных и преобразований, которые многие пропустили.
Ссылка
#js
На первый взгляд тема типов данных и преобразований может показаться легкой.
Обычно она изучается в самом начале погружения в JavaScript. Однако в этих темах есть неочевидные подводные камни, которые знает далеко не каждый разработчик.
В этой статье мы рассмотрим особенности типов данных и преобразований, которые многие пропустили.
Ссылка
#js
👍7❤1
  Всё в JavaScript это... ?
  Anonymous Quiz
    43%
    примитив или объект
      
    16%
    функция или объект
      
    38%
    вопрос с подвохом! только объекты
      
    3%
    число или объект
      
    🤔6
  В JavaScript есть только примитивы и объекты.
Типы примитивов: boolean, null, undefined, bigint, number, string, и symbol.
Отличием примитива от объекта является то, что примитивы не имеют свойств или методов. Тем не менее, 'foo'.toUpperCase() преобразуется в 'FOO' и не вызывает TypeError. Это происходит потому, что при попытке получения свойства или метода у примитива (например, строки), JavaScript неявно обернет примитив объектом, используя один из классов-оберток (например, String), а затем сразу же уничтожит обертку после вычисления выражения. Все примитивы кроме null и undefined ведут себя таким образом.
Типы примитивов: boolean, null, undefined, bigint, number, string, и symbol.
Отличием примитива от объекта является то, что примитивы не имеют свойств или методов. Тем не менее, 'foo'.toUpperCase() преобразуется в 'FOO' и не вызывает TypeError. Это происходит потому, что при попытке получения свойства или метода у примитива (например, строки), JavaScript неявно обернет примитив объектом, используя один из классов-оберток (например, String), а затем сразу же уничтожит обертку после вычисления выражения. Все примитивы кроме null и undefined ведут себя таким образом.
👍13
  Стилистические правила умерли, да здравствуют стилистические правила
Под конец прошлого года, по ряду причин, ESLint отказались от дальнейшей поддержки и развития стилистических правил. А тема, как по мне, несправедливо осталась в тени. Давайте разберемся, почему так произошло и какие изменения нас ждут на поприще статического анализа и форматирования кода.
Ссылка
#utils
Под конец прошлого года, по ряду причин, ESLint отказались от дальнейшей поддержки и развития стилистических правил. А тема, как по мне, несправедливо осталась в тени. Давайте разберемся, почему так произошло и какие изменения нас ждут на поприще статического анализа и форматирования кода.
Ссылка
#utils
👍7🥰2❤1
  Нездоровое IT
Эта твоя айтишечка — злобная и нездоровая хуйня. И я тут не про раздутые зарплаты и формошлёпство говорю, а про обычное здоровье. Вот то, которое в 20 лет, как у коня, а к 30 годам уже болят колени, спина, да и зрение село.
Фиг его знает, что тут причина, а что следствие. Наверное, корни проблемы находятся где-то в нёрдовой культуре ранних (древних, гы) программистов. Они ж по-совместительству были любителями пиццы, пива, и полуночного красноглазия.
Ссылка
#статьи
Эта твоя айтишечка — злобная и нездоровая хуйня. И я тут не про раздутые зарплаты и формошлёпство говорю, а про обычное здоровье. Вот то, которое в 20 лет, как у коня, а к 30 годам уже болят колени, спина, да и зрение село.
Фиг его знает, что тут причина, а что следствие. Наверное, корни проблемы находятся где-то в нёрдовой культуре ранних (древних, гы) программистов. Они ж по-совместительству были любителями пиццы, пива, и полуночного красноглазия.
Ссылка
#статьи
👍11🔥3💅3👎2❤1
  function* generator(i) {
  yield i;
  yield i * 2;
}
const gen = generator(10);
console.log(gen.next().value);
console.log(gen.next().value);🤯5
  Каким будет результат?
  Anonymous Quiz
    17%
    [0, 10], [10, 20]
      
    13%
    20, 20
      
    60%
    10, 20
      
    10%
    0, 10 and 10, 20
      
    Объяснения к задаче выше 
Обычные функции не могут быть остановлены на полпути после вызова. Однако функцию генератор можно "остановить" на полпути, а затем продолжить с того места, где она остановилась. Каждый раз, когда в функции-генераторе встречает ключевое слово yield, функция возвращает значение, указанное после него. Обратите внимание, что функция генератора в этом случае не return значение, оно yields значение.
Сначала мы инициализируем функцию генератор с i, равным 10. Мы вызываем функцию генератор, используя метод next (). Когда мы в первый раз вызываем функцию генератора, i равно 10. Он встречает первое ключевое слово yield, получая значение i. Генератор теперь "приостановлен", и 10 выводится в консоль.
Затем мы снова вызываем функцию с помощью метода next (). Она запускается с того места, где остановилась ранее, все еще с i, равным 10. Теперь он встречает следующее ключевое слово yield и возвращает i 2. i равно 10, поэтому он возвращает 10 2, то есть 20. Это приводит к 10, 20.
Обычные функции не могут быть остановлены на полпути после вызова. Однако функцию генератор можно "остановить" на полпути, а затем продолжить с того места, где она остановилась. Каждый раз, когда в функции-генераторе встречает ключевое слово yield, функция возвращает значение, указанное после него. Обратите внимание, что функция генератора в этом случае не return значение, оно yields значение.
Сначала мы инициализируем функцию генератор с i, равным 10. Мы вызываем функцию генератор, используя метод next (). Когда мы в первый раз вызываем функцию генератора, i равно 10. Он встречает первое ключевое слово yield, получая значение i. Генератор теперь "приостановлен", и 10 выводится в консоль.
Затем мы снова вызываем функцию с помощью метода next (). Она запускается с того места, где остановилась ранее, все еще с i, равным 10. Теперь он встречает следующее ключевое слово yield и возвращает i 2. i равно 10, поэтому он возвращает 10 2, то есть 20. Это приводит к 10, 20.
👍8👏3
  Окей, я джуниор, как начать управлять?
Когда я только пришел в мир IT, для меня, как и, наверняка, для вас, было много чего непонятного и неизученного. Это было мостиком моей мотивации, удерживающим меня в этой индустрии, но по мере того как ты завязываешь в узелок все свои накопленные знания, появляется уверенность в кое-какой стабильности, а следовательно — новый вопрос.
Cсылка
#статьи
Когда я только пришел в мир IT, для меня, как и, наверняка, для вас, было много чего непонятного и неизученного. Это было мостиком моей мотивации, удерживающим меня в этой индустрии, но по мере того как ты завязываешь в узелок все свои накопленные знания, появляется уверенность в кое-какой стабильности, а следовательно — новый вопрос.
Cсылка
#статьи
👍5🤡5❤1🔥1
  Причины говнокода во фронтенде.
Как известно, изначальной задачей JavaScript было обеспечение интерактивности на HTML-странице, и предназначался язык, в первую очередь, для верстальщиков и дизайнеров, а для программистов предлагалось использовать интегрируемые в страницу Java-апплеты. И, несмотря на сходство в названии с Java, общего у JS с нею было только оно да C-подобный синтаксис. Под капотом же JavaScript был значительно вдохновлен языком Scheme, но именно этому странному языку, написанному в кратчайшие сроки, суждено было стать одним из самых популярных на планете, и решать задачи, для которых он никогда не проектировался.
Ссылка
#статьи
Как известно, изначальной задачей JavaScript было обеспечение интерактивности на HTML-странице, и предназначался язык, в первую очередь, для верстальщиков и дизайнеров, а для программистов предлагалось использовать интегрируемые в страницу Java-апплеты. И, несмотря на сходство в названии с Java, общего у JS с нею было только оно да C-подобный синтаксис. Под капотом же JavaScript был значительно вдохновлен языком Scheme, но именно этому странному языку, написанному в кратчайшие сроки, суждено было стать одним из самых популярных на планете, и решать задачи, для которых он никогда не проектировался.
Ссылка
#статьи
🤡11👍3🫡3💯2🔥1🥴1
  const firstPromise = new Promise((res, rej) => {
  setTimeout(res, 500, 'один');
});
const secondPromise = new Promise((res, rej) => {
  setTimeout(res, 100, 'два');
});
Promise.race([firstPromise, secondPromise]).then(res => console.log(res));🤯5👍2😱1
  