All articles of our community

All articles are in the order of publication on Unicoding: learn new technologies, watch lectures and participate in the discussion.

3 yrs - Youtube

#8 Front-end. Вопросы на собеседовании

Видеокаст «Front-end. Вопросы на собеседовании».
В данном видео будут вопросы и ответы к собеседованиям на позицию Junior и Middle Front-end разработчик.
Видеокаст представлять из себя коллекцию технических вопросов, которые можно получить на интервью.
Удобная, хорошо организованная шпаргалка всегда у вас под рукой!

#yauhenk #webdev #interview #js #javascript #html #css #frontend #git #github #html #techinterview

Как проверить в JavaScript, есть ли у объекта свойство

Из-за динамической природы JavaScript вам может потребоваться проверить, существует ли в объекте конкретное свойство. В этом посте вы узнаете о трех распространенных способах проверки наличия свойства в объекте.

1. Метод hasOwnProperty()

У объекта JavaScript есть специальный метод object.hasOwnProperty(propName), который возвращает логическое значение, указывающее, имеет object ли свойство propName. В следующем примере hasOwnProperty() определяется наличие свойств:

const hero = {
name: 'Batman'
};

hero.hasOwnProperty('name'; // => true
hero.hasOwnProperty('realName'; // => false


Свойство name существует в объекте hero: таким образом, hero.hasOwnProperty(‘name’) возвращается true.


2. Оператор in

Оператор in в propName in object также определяет, существует ли свойство propName в object. Давайте используем оператор in, чтобы определить существует ли свойство:

const hero = {
name: 'Batman'
};

'name' in hero; // => true
'realName' in hero; // => false

‘name’ in hero оценивается, как ожидается, true, потому что hero содержит свойство name. Однако hero не содержит свойства с именем ‘realName’. В результате ‘realName’ in hero оценивается, как false.

3. Сравнение с undefined

Если вы обращаетесь к несуществующему свойству объекта, результат будет undefined. Давайте рассмотрим пример:

const hero = {
name: 'Batman'
};

hero.name; // => 'Batman'
hero.realName; // => undefined


hero.realName оценивается undefined, потому что свойство realName отсутствует. Теперь вы можете понять идею: давайте сравним с undefined, чтобы определить наличие свойства.

const hero = {
name: 'Batman'
};

hero.name !== undefined; // => true
hero.realName !== undefined; // => false


Даже если свойство name существует (но имеет значение undefined), hero.name !== undefined оценивается как false: что неправильно указывает на отсутствие свойства.

4. Заключение

Есть 3 основных способа проверить, существует ли свойство. Первый способ — вызвать object.hasOwnProperty(propName). Метод возвращает true, если propName существует в object, и false в противном случае. Обратите внимание, что hasOwnProperty() выполняет поиск только в пределах собственных свойств объекта.

Второй подход использует оператор propName in object. Оператор оценивается true для существующего свойства, и false в противном случае. Оператор in ищет наличие свойств как в собственных, так и в унаследованных свойствах объекта.

Наконец, вы можете просто использовать object.propName !== undefined и сравнивать с undefined напрямую.



Источник: //dmitripavlutin.com


#js #javascript #hasownproperty #object

image

Progressive enhancement и Graceful Degradation

Progressive enhancement.

Чаще всего этот термин переводят, как прогрессивное улучшение. Прогрессивное улучшение предполагает, что веб-интерфейсы должны создаваться поэтапно, циклически, от простого к сложному. На каждом из этапов должен получаться законченный веб-интерфейс, который будет лучше, красивее и удобнее предыдущего.

Вы начинаете с создания базового уровня пользовательского интерфейса, который все браузеры смогут обеспечить при рендеринге вашего веб-сайта, но вы также создаете более расширенные функциональные возможности, которые автоматически будут доступны браузерам, которые могут его использовать.


Graceful Degradation.

У нас этот термин переводится как «постепенная деградация». Понятие достаточно широкое, в общем можно сказать, что это способность системы продолжать своё функционирование в случае отказа некоторых её компонентов.
Чаще всего Graceful Degradation понимается, как практика построения вашей веб-функциональности таким образом, чтобы она обеспечивала определенный уровень пользовательского опыта в более современных браузерах, но она также будет изящно деградировать до более низкого уровня пользовательского опыта в старых браузерах. Этот нижний уровень не так приятно использовать для посетителей вашего сайта, но он по-прежнему предоставляет им базовую функциональность, для использования которой они пришли на ваш сайт - для них ничего не ломается.

#degradation #enhancement #progressiveenhancement #gracefuldegradation #mobilefirst #ui

image

Функция поиска минимального и максимального значения в массиве.

Возвращать она должна массив, содержащий два этих элемента. Даже если исходный массив содержит только одно значение, итоговый результат должен содержать два элемента.

#techinterview #jstasks #javascript #js #javascripttasks #tasks #minMax

image
3 yrs - Youtube

#7 Front-end. Вопросы на собеседовании

Видеокаст «Front-end. Вопросы на собеседовании».
В данном видео будут вопросы и ответы к собеседованиям на позицию Junior и Middle Front-end разработчик.
Видеокаст представлять из себя коллекцию технических вопросов, которые можно получить на интервью.
Удобная, хорошо организованная шпаргалка всегда у вас под рукой!

#yauhenk #webdev #interview #js #javascript #html #css #frontend #git #github #techinterview

https://caniuse.com/

Сервис для проверки различных свойств CSS в браузерах - этот вопрос могут спросить на собеседовании.

#css #html #frontend

image

sumDigits


Напишите функцию с именем sumDigits, которая принимает число в качестве входных данных и возвращает сумму абсолютного значения каждой десятичной цифры числа.

Например:

sumDigits(1; // Returns 1
sumDigits(99); // Returns 18
sumDigits(-32); // Returns 5

#codewars #jstasks #javascript #js #javascripttasks #sumdigits

image

Методы поиска элементов в DOM

Как правило, когда нужно выполнить какие-либо действия с DOM, разработчики используют jQuery. Однако практически любую манипуляцию с DOM можно сделать и на чистом JavaScript с помощью его DOM API.

Ниже в комментария[ будут методы, с помощью которых можно проводить манипуляции с DOM

#js #javascript #dom

image

Методы работы с массивами в JavaScript, которые необходимо знать в 2021 году

Это перевод статьи, опубликованной на сайте dev.to. Автор: Ibrahima Ndaw.

Массив в JavaScript — это особая структура данных, которая используется для хранения различных элементов. С помощью встроенных в нее свойств и методов можно добавить, удалить, перебрать или обработать данные в соответствии со своими потребностями. Знание методов работы с массивами в JavaScript поднимет ваши профессиональные навыки в сфере разработки на новый уровень.

Далее в комментариях будут перечислены методы массивов.

Обратите внимание, что в основном мы будем упрощать функцию, которая передается в качестве параметра.

// Instead of using this way
myAwesomeArray.some(test => {
if (test === "d" {
return test
}
})
// We'll use the shorter one
myAwesomeArray.some(test => test === "d"

#js #javascript #frontend #interview

image

Методы строк в JavaScript: простая шпаргалка с примерами
Любые текстовые данные в JavaScript считаются строками. Это примитивный тип, но язык позволяет работать с ним так, будто он является объектом. В том числе — использовать встроенные в JS методы строк, которые собраны в этой шпаргалке.
Важно: при использовании методов создаётся новая строка, которая записывается в ту же переменную вместо старой строки.
В комментариях разобраны все методы строк
#js #javascript #frontend #interview

image