💡 Облегчаем доступ к глубоким свойствам объекта
Так как обращение к свойству несуществующего объекта в JavaScript вызывает ошибку, мы вынуждены проверять на наличие каждый уровень вложенности.
WebDEV #советы #coding #js
Так как обращение к свойству несуществующего объекта в JavaScript вызывает ошибку, мы вынуждены проверять на наличие каждый уровень вложенности.
if(obj && obj.address && obj.address.postalCode) {
console.log(obj.address.postalCode)
}
Укоротим эту кучу кода с помощью оператора опциональной последовательности ?. (optional chaining).console.log(obj?.address?.postalCode);Он делает то же самое, но гораздо элегантнее.
WebDEV #советы #coding #js
Next.js 12 is a Beast
Обзор на Next.js версии 12. Он наполнен потрясающими функциями, такими как компилятор rust, параллельный режим, серверные компоненты и многое другое. Полный курс.
📺 YouTube
WebDEV #видео #js
Обзор на Next.js версии 12. Он наполнен потрясающими функциями, такими как компилятор rust, параллельный режим, серверные компоненты и многое другое. Полный курс.
📺 YouTube
WebDEV #видео #js
YouTube
Next.js 12 is a Beast
Your first look at Next.js version 12. It's packed with awesome new features, like a rust compiler, middleware, concurrent mode, server components, and more. Full course https://fireship.io/courses/react-next-firebase/
#js #react #firstlook
🔗 Resources…
#js #react #firstlook
🔗 Resources…
🛠 MoreToggles — библиотека на чистом CSS со множеством приятных глазу переключателей.
WebDEV #инструменты #css
WebDEV #инструменты #css
💡 Убираем проверки на null, undefined и пустую строку
JavaScript имеет мощную систему преобразования типов, фактически он может преобразовать любой тип в любой другой. Если речь идет о логических проверках, то все значения можно разделить на falsy (лживые), которые преобразуются в
WebDEV #советы #coding #js
JavaScript имеет мощную систему преобразования типов, фактически он может преобразовать любой тип в любой другой. Если речь идет о логических проверках, то все значения можно разделить на falsy (лживые), которые преобразуются в
false, и truthy (правдивые), которые преобразуются в true.if (first !== null || first !== undefined || first !== '') {
let second = first;
}
Благодаря этому механизму нет нужды проверять на null, undefined и пустую строку отдельно – каждое из этих значений falsy, то есть преобразуется в false.const second = first || '';Вместо этого можно просто воспользоваться оператором логического сложения
||. Он вернет левое значение, если оно истинно, или правое в ином случае. Другими словами, правая часть выражения является значением по умолчанию.WebDEV #советы #coding #js
💡 Подборка советов по коду в JS
▫️ Оператор опциональной последовательности
▫️ Оператор нулевого слияния
▫️ Spread syntax
▫️ Деструктуризация массива
▫️ Проверка палиндрома в одну строку
▫️ Превращаем атрибуты объекта в массив атрибутов
▫️ Избегайте множественных ИЛИ (||) условий
▫️ Облегчаем доступ к глубоким свойствам объекта
WebDEV #подборка #советы #coding #js
▫️ Оператор опциональной последовательности
▫️ Оператор нулевого слияния
▫️ Spread syntax
▫️ Деструктуризация массива
▫️ Проверка палиндрома в одну строку
▫️ Превращаем атрибуты объекта в массив атрибутов
▫️ Избегайте множественных ИЛИ (||) условий
▫️ Облегчаем доступ к глубоким свойствам объекта
WebDEV #подборка #советы #coding #js
🔥 Лучшее на канале за неделю
1. Next.js 12 is a Beast.
2. MoreToggles — библиотека на чистом CSS со множеством приятных глазу переключателей.
3. Облегчаем доступ к глубоким свойствам объекта.
1. Next.js 12 is a Beast.
2. MoreToggles — библиотека на чистом CSS со множеством приятных глазу переключателей.
3. Облегчаем доступ к глубоким свойствам объекта.
💡 Упрощаем конструкцию switch
Оператор
WebDEV #советы #coding #js
Оператор
switch очень напоминает данный пример, с большим количеством условий.switch (number) {
case 1:
return 'one';
case 2:
return 'two';
default:
return;
}
Однако здесь недостаточно проверки на равенство, нужно еще вернуть определенное значение. Поэтому вместо массива мы можем использовать объект (map).const data = {
1: 'one',
2: 'two'
};
data[num]
Каждый ключ объекта однозначно соответствует определенному значению, но выглядит код компактнее, и его проще читать.WebDEV #советы #coding #js
📖 React: Up & Running: Building Web Applications
🖋 Stoyan Stefanov, 2021
Начните работу с React, технологией с открытым исходным кодом от Facebook для быстрого создания полнофункциональных веб-приложений. Обновленное для последней версии React, второе издание этого практического руководства показывает, как создавать компоненты React и организовывать их в поддерживаемые крупномасштабные приложения. Если вы знакомы с синтаксисом JavaScript, вы готовы приступить к работе.
💾 Скачать книгу
WebDEV #book #React #js
🖋 Stoyan Stefanov, 2021
Начните работу с React, технологией с открытым исходным кодом от Facebook для быстрого создания полнофункциональных веб-приложений. Обновленное для последней версии React, второе издание этого практического руководства показывает, как создавать компоненты React и организовывать их в поддерживаемые крупномасштабные приложения. Если вы знакомы с синтаксисом JavaScript, вы готовы приступить к работе.
💾 Скачать книгу
WebDEV #book #React #js
💡 Сокращаем однострочные функции
Некоторые функции содержат очень мало кода, но тем не менее из-за особенностей синтаксиса JavaScript занимают не меньше трех строчек.
WebDEV #советы #coding #js
Некоторые функции содержат очень мало кода, но тем не менее из-за особенностей синтаксиса JavaScript занимают не меньше трех строчек.
function doubleOf(value) {
return 2 * value;
}
Стрелочные функции позволяют ужать их до одной строки:const doubleOf = (value) => 2 * valueВажно: не злоупотребляйте стрелочными функциями, ясность кода не должна приноситься в жертву его краткости.
WebDEV #советы #coding #js
🔥 Лучшее на канале за неделю
1. React: Up & Running: Building Web Applications.
2. reseter.css — футуристическая альтернатива Normalize.css и CSS Resets.
3. Упрощаем конструкцию switch.
1. React: Up & Running: Building Web Applications.
2. reseter.css — футуристическая альтернатива Normalize.css и CSS Resets.
3. Упрощаем конструкцию switch.
💡 Выбираем функцию для выполнения
Иногда в зависимости от некоторого условия вам нужно вызвать ту или иную функцию.
WebDEV #советы #coding #js
Иногда в зависимости от некоторого условия вам нужно вызвать ту или иную функцию.
function area() {
console.log('area');
}
function volume() {
console.log('volume');
}
if(type === 'square') {
area();
} else {
volume();
}
Вместо конструкции if вы можете смело использовать тернарный оператор:(type === 'square' ? area : volume)()Важно: этот трюк не сработает, если вы вызываете методы объекта, которые работают с ключевым словом
this. После выполнения выражения внутри круглых скобок (выбор нужного метода) контекст вызова будет потерян и this перестанет ссылаться на нужный объект.WebDEV #советы #coding #js
7 способов работы с CSS
7 лучших способов написания кода CSS в приложении React или Next.js. Изучите компромиссы между различными инструментами, такими как CSS modules, CSS-in-JS, Sass, Tailwind, Bootstrap, библиотеки компонентов и многое другое.
📺 YouTube
WebDEV #видео #css #js
7 лучших способов написания кода CSS в приложении React или Next.js. Изучите компромиссы между различными инструментами, такими как CSS modules, CSS-in-JS, Sass, Tailwind, Bootstrap, библиотеки компонентов и многое другое.
📺 YouTube
WebDEV #видео #css #js
YouTube
7 ways to deal with CSS
Top 7 ways to write CSS code in a React or Next.js app. Learn the tradeoffs between different tools like CSS modules, CSS-in-JS, Sass, Tailwind, Bootstrap, component libraries, and more. https://fireship.io/courses/react-next-firebase/
#css #javascript #webdev…
#css #javascript #webdev…
🛠 EditThisCookie — это инструмент, который совершенно необходим. Он, не требуя никаких изысков, позволяет редактировать куки-файлы. В EditThisCookie большая широта возможностей, внимание к деталям, уделяемое его разработчиками, и, в то же время, его простота. Пару щелчков мыши — и дело сделано.
WebDEV #инструменты #web
WebDEV #инструменты #web
💡 Устанавливаем дефолтное значение переменной
Иногда мы принципиально не хотим, чтобы переменная оставалось неинициализированной или содержала значение
WebDEV #советы #coding #js
Иногда мы принципиально не хотим, чтобы переменная оставалось неинициализированной или содержала значение
null.if(amount === null) {
amount = 0;
}
if(value === undefined) {
value = 0;
}
console.log(amount); //0
console.log(value); //0
Для такой проверки так же отлично подойдет оператор логического сложения (||).console.log(amount || 0); //0Если левая часть выражения является falsy-значением и приводится к
console.log(value || 0); //0
false, оператор ИЛИ вернет правую (дефолтную) часть.WebDEV #советы #coding #js
🔥 Лучшее на канале за неделю
1. 7 способов работы с CSS.
2. EditThisCookie — это инструмент, который совершенно необходим.
3. Устанавливаем дефолтное значение переменной.
1. 7 способов работы с CSS.
2. EditThisCookie — это инструмент, который совершенно необходим.
3. Устанавливаем дефолтное значение переменной.