dr.Brain
2.74K subscribers
1 photo
1 file
557 links
Мир глазами разработчика: обзоры, трюки, решения задач, примеры кода - рутина и не только... Front & Back

О нас: https://drbrain.pro/about/
Купить рекламу: https://telega.in/c/drbrain4dev

По всем вопросам: @gvastahov, @Pavel_A_G
Download Telegram
JavaScript: сумма массива и объекта

Можно ли в JavaScript получить сумму пустого массива и пустого объекта? Какой результат будет получен, если такое действие не приведет к ошибке?

let sum = [] + {};

if (sum.length > 10) {
console.log("wow, this is quite long");
} else {
console.log("it's: " + sum);
}


Узнать правильный ответ

#interview #frontend #js
JavaScript: равны ли даты

Дата в JavaScript является экземпляром объекта Date. Это момент времени, который можно создать только вызвав конструктор функции Date, то есть только с помощью оператора new. Передавая функции Date в качестве аргумента целое число, мы указываем количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC (эпохи Unix).


let date1 = new Date(0);
let date2 = new Date(0);

if (date1 == date2) {
console.log('equal');
} else {
console.log('not so much');
}


Итак, в соответствии с кодом, приведенным выше, мы создали две даты. Каков же будет результат их сравнения?


Узнать правильный ответ

#interview #frontend #js
JavaScript: slice и splice

Всем известно про методы slice и splice глобального объекта Array. Один из них - slice возвращает копию части исходного массива, другой - spliceизменяет содержимое исходного массива удаляя и добавляя элементы.

let arr = [1, 2, 3, 4, 5];
let sliceArr = arr.slice(1, 2);

arr.splice(1, 2, ...sliceArr);
console.log(arr);


К какому результату приведет выполнение кода, приведенного выше?

Узнать правильный ответ

#interview #frontend #js
JavaScript: дата

Для того, чтобы получить текущую дату в JavScript есть несколько способов. Так, обратившись к конструктору new можно создать экземпляр глобального объекта Date, содержащий информацию о текущих дате и времени. Еще можно вызвать метод Date.now().

console.log(new Date() == Date.now());


Интересно, какой результат вернет сравнение, приведенное выше, если предположить, что в каждом случае идет обращение к одному и тому же моменту времени?

Узнать правильный ответ

#interview #frontend #js
Стоит ли изучать Go в 2021

Читать

В последние годы популярность языка программирования Go значительно возросла. Традиционный ежегодный опрос разработчиков, проводимый уважаемым ресурсом Stack Overflow, продемонстрировал в 2020 году значительный рост позитивного отношения сообщества к этому языку

#go
JavaScript: свойство для массива

Интересно, можно ли добавить массиву свойства. И, если можно, будет ли новое свойство влиять на длину массива?

let arr = [1, 2, 3, 4, 5];
arr.greeting = "Hello, World!";

console.log(arr.length);
console.log(arr.greeting);


К какому результату приведет выполнение такого кода?

Узнать правильный ответ

#interview #frontend #js
Командная строка: passwd

Читать


Каждому пользователю UNIX-подобных операционных систем назначается пароль, который можно изменить с помощью команды passwd. Существует два типовых сценария смены пароля.

#tutorial #dev #bash #cli
JavaScript: тип данных аргумента

Итак, у нас есть функцию, которое может принять и обработать неопределенное количество аргументов.

function split(...args) {
console.log(typeof args);
}

split("hello");


Какой тип данных вернет такая функция для единственного, переданного ей параметра?

Узнать правильный ответ

#interview #frontend #js
JavaScript: сумма массивов

Сложение массивов в JavaScript - простая, но интересная тема. Попробуем передать несколько массивов в функцию в качестве аргументов и вернуть в результате выполнения функции сумму переданных массивов:

function add(a, b, c) {
return a + b + c;
}

let sum = add ([1, 2], [3, 4], [5, 6]);

console.log(sum);


Какой результат будет выведен в консоль?

Узнать правильный ответ

#interview #frontend #js
JavaScript: timeout или resolve

Известно, что и функция setTimeout() и метод Promise.resolve() являются асинхронными. Это означает, что код и функции и метода будет выполнен только после освобождение стека, то есть, когда в основном потоке JavaScript не останется неисполненных операций.

setTimeout(() => console.log("Timeout"), 0);
Promise.resolve("Resolve").then(console.log);

Какая часть кода будет выполнена в первую очередь: функция setTimeout() или, все-таки, метод Promise.resolve()?

Узнать правильный ответ

#interview #frontend #js
JavaScript: setTimeout внутри цикла

Функция setTimeout() является асинхронной, а это означает, что она запускается, только после выполнения всех операций в основном потоке данных JavaScript. Но, что получится, если поместить эту функцию в цикл for.

for (var i = 0; i < 5; i++) {
setTimeout(() => console.log(i), 0)
}


Какой результат будет выведен на экран после выполнения такого кода?

Узнать правильный ответ

#interview #frontend #js
JavaScript: MAX_NUMBER_SAFE

В JavaScript практически все цифровые значения соответствуют типу данных number и хранятся в формате 64-битных чисел двойной точности с плавающей запятой. Максимальным достижимым значение при использовании такого формата является 2 в 53 степени минус 1, что соответствует числу 9007199254740991. Это девять квадриллионов семь триллионов сто девяносто девять миллиардов двести пятьдесят четыре миллиона семьсот сорок тысяч девятьсот девяносто один - такое число достаточно трудно запомнить, Поэтому в объекте Number для него создана специальная статическая константа MAX_SAFE_INTEGER. Но, что получится, если мы попробуем увеличить это число хотя бы на 1?

let x = Number.MAX_SAFE_INTEGER + 1,
y = Number.MAX_SAFE_INTEGER + 2;

console.log(x === y);


Какой результат будет выведен в консоли?

Узнать правильный ответ

#interview #frontend #js
JavaScript: undefined

Согласно определению в JavaScript undefined является свойством глобального объекта, содержащим примитивное значение undefined. Если с помощью оператора typeof определить тип данных для undefined, будет получен ответ undefined. Но, что получится, если сравнить ответ переданный оператором с самой переменной undefined?

console.log(typeof undefined === undefined);


Какой результат будет получен в консоли?

Узнать правильный ответ

#interview #frontend #js
CSS: индикатор уведомлений

Читать

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

#frontend #css
JavaScript: Object.toString и Array.toString

Ни для кого не секрет, что в JavaScript стандартные встроенные объекты Object и Array имеют метод toString. Но в чем отличия Object.toString и Array.toString.

let toStringObject = Object.prototype.toString,
toStringArray = Array.prototype.toString,
arr = [1, 2, 3, 4, 5];

console.log(toStringObject.call(arr));
console.log(toStringArray.call(arr));


Вернут ли эти методы одинаковые значения при использовании для одного и того же объекта?

Узнать правильный ответ

#interview #frontend #js
Новые возможности PHP

Читать

Наряду с just-In-Time компиляцией, несомненно, положительно повлиявшей на производительность приложений, PHP 8 подарил миру разработчиков ряд полезных изменений в синтаксисе языка. В этой статье я хочу представить три примера использования нового синтаксиса в PHP-коде, полагая, что каждый из представленных случаев был бы полезен, при появлении таких возможностей, и в JavaScript.

#backend #php
CSS: сброс стилей

Читать

Рано или поздно каждый frontend-разработчик сталкивается со стилями, установленными по умолчанию. Это приносит в проект массу неудобств. Обычно, верстальщик в таком случае начинает волноваться, чувствует себя неуверенно и, занимая свое время поиском решения проблемы, вспоминает всех: от создателей CSS до программистов, мастерящих известные браузеры.

Как же избавиться от такого кошмара? Существует ли какая-то секретная кнопка, которая может быстро и эффективно справиться с проблемой CSS-стилей, установленных по умолчанию?

"Да, существует" - вот короткий ответ на этот вопрос. Но, все-таки, как решить озвученную проблему? В этой короткой статье или заметке, мы познакомимся с очень простой реализацией сброса CSS-стилей, установленных по умолчанию, а точнее CSS-стилей, навязываемых нам клиентским приложением (user-agent), то есть браузером.

#frontend #css
Командная строка: open

Иногда, работая в терминале, возникает необходимость открыть какой-либо файл. Но при этом нет никакого желания возвращаться в менеджер файлов операционной системы (для MacOS - это Finder), искать путь к файлу и открывать или запускать его с помощью программы, предназначенной для взаимодействия с нужным нам файлом по умолчанию. Это долго и утомительно.

К счастью в терминале есть команда open, которая позволит нам открыть файл в UNIX-подобной операционной системе (в том числе в MacOS и Linux).

В простейшем виде синтаксис этой команды выглядит так:

open file.txt

После команды через пробел указывается относительный или абсолютный путь к открываемому файлу.

Читать

#tutorial #dev #bash
JavaScript: изучаем методы массивов с эмодзи

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

Чтобы внести ясность, мы визуализируем методы массивов с помощью эмодзи. Кто знает, может быть такой способ обучения превзойдет любые, даже самые смелые, ожидания.

Все приведенные примеры действительно работают. Поэтому, не стесняйтесь экспериментировать с примерами кода данной статьи в консоли Вашего браузера. 🤓

Читать

#frontend #js
JavaScript: BigInt

Что получится, если в JavaScript к обычному целому числу добавить суффикс n.

let sum = 1n + 2n;
console.log(typeof sum);

На какой результат можно надеяться?

Узнать правильный ответ

#frontend #js
Командная строка: history

Читать

Каждая команда, которую мы вводим в терминале, сохраняется в истории.

Для того, чтобы просмотреть историю, достаточно ввести команду:

history


#tutorial #dev #bash