Какая разница между оператором in и методами hasOwnProperty() в JavaScript?
Anonymous Quiz
38%
in проверяет наличие свойства только в самом объекте, а hasOwnProperty() проверяет и в прототипе.
5%
Оператор in и метод hasOwnProperty() выполняют одну и ту же проверку на наличие свойств в объекте.
49%
hasOwnProperty() проверяет наличие свойства только в самом объекте, а in проверяет и в прототипе.
9%
in и hasOwnProperty() проверяют только собственные свойства объекта и игнорируют прототип
👍7
Тег <samp>
Он используется для оформления вывода данных, которые показываются пользователю в результате выполнения программы. Содержимое этого элемента воспринимается устройствами как простой текст.
Внутри тега <samp> размещается информация, которую пользователь может получить в процессе взаимодействия с программой:
- вывод информации о ходе выполнения программы;
- ошибки, предупреждения и подсказки инструментов разработчика или операционной системы;
- приглашение к вводу данных.
В браузерах текст внутри <samp> по умолчанию отображается моноширинным шрифтом.
Если нужно показать пользователю результат работы программы в реальном времени, лучше использовать тег <output>, например:
- информация, которую пользователь вводит или изменяет в форме;
- вывод расчётов по данным, которые указал пользователь (калькулятор, гороскоп и т. п.).
При оформлении вывода данных <samp> часто комбинируют с тегами <var>, <kbd> и <code>:
👉 @frontendInterview
Он используется для оформления вывода данных, которые показываются пользователю в результате выполнения программы. Содержимое этого элемента воспринимается устройствами как простой текст.
Внутри тега <samp> размещается информация, которую пользователь может получить в процессе взаимодействия с программой:
- вывод информации о ходе выполнения программы;
- ошибки, предупреждения и подсказки инструментов разработчика или операционной системы;
- приглашение к вводу данных.
В браузерах текст внутри <samp> по умолчанию отображается моноширинным шрифтом.
Если нужно показать пользователю результат работы программы в реальном времени, лучше использовать тег <output>, например:
- информация, которую пользователь вводит или изменяет в форме;
- вывод расчётов по данным, которые указал пользователь (калькулятор, гороскоп и т. п.).
При оформлении вывода данных <samp> часто комбинируют с тегами <var>, <kbd> и <code>:
<div>
<p>
В ходе выполнения программы вам будет предложено указать расстояние:
</p>
<p>
<samp>
Введите значение для переменной <var>Distance</var>:
</samp>
</p>
</div>
<div>
<p>
Следующая команда выведет в консоли браузера результат сложения
двух чисел:
</p>
<pre>
<code>console.log(2.3 + 2.4)</code>
<samp>4.699999999999999</samp></pre>
</div>
<div>
<p>
Неправильно введённая команда не будет выполнена и в консоли отобразится
ошибка:
</p>
<samp>
<span class="console-name">user@machine:~$</span> <kbd>ckear</kbd>
<br>
ckear: The term 'ckear' unidentified as a name of a cmdlet, function,
noscript file, or executable program.
<br>
<span class="console-name">user@machine:~$</span>
<span class="console-cursor">_</span>
</samp>
</div>
👉 @frontendInterview
👍8
You don't know JS - Замыкания и объекты
Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное, но при этом глубоко продуманное руководство познакомит вас с областями видимости, замыканиями, ключевым словом this и объектами – концепциями, которые необходимо знать для более эффективного и производительного программирования на JS. Вы узнаете, как и почему они работают, и как замыкания могут стать эффективной частью вашего инструментария разработки.
Как и в других книгах серии «Вы не знаете JS», здесь рассматриваются нетривиальные аспекты языка, от которых программисты JavaScript предпочитают держаться подальше. Вооружившись этими знаниями, вы достигнете истинного мастерства JavaScript.
👉 @frontendInterview
Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное, но при этом глубоко продуманное руководство познакомит вас с областями видимости, замыканиями, ключевым словом this и объектами – концепциями, которые необходимо знать для более эффективного и производительного программирования на JS. Вы узнаете, как и почему они работают, и как замыкания могут стать эффективной частью вашего инструментария разработки.
Как и в других книгах серии «Вы не знаете JS», здесь рассматриваются нетривиальные аспекты языка, от которых программисты JavaScript предпочитают держаться подальше. Вооружившись этими знаниями, вы достигнете истинного мастерства JavaScript.
👉 @frontendInterview
👍6
Converting 12-hour time to 24-hour time
Создайте функцию, которая принимает время в 12-часовом формате в виде трёх параметров (Часы, минуты, am/pm). И возвращает время в 24-часовом формате.
Примеры:
👉 @frontendInterview
Создайте функцию, которая принимает время в 12-часовом формате в виде трёх параметров (Часы, минуты, am/pm). И возвращает время в 24-часовом формате.
Примеры:
to24hourtime( 1, 0, "am") => "0100", "Input = 1:00 am"
to24hourtime( 1, 0, "pm") => "1300", "Input = 1:00 pm"
to24hourtime(12, 0, "am") => "0000", "Input = 12:00 am"
to24hourtime(12, 0, "pm") => "1200", "Input = 12:00 pm"
to24hourtime( 6, 30, "am") => "0630", "Input = 6:30 am"
to24hourtime( 9, 45, "pm") => "2145", "Input = 9:45 pm"👉 @frontendInterview
🤔4👍1
Расскажите как соотносятся с размером шрифта px, em и rem?
Пиксель px – это абсолютная единица измерения. 1px интерпретируется как 1/96 дюйма. Главное достоинство использования пикселей для определения размера – чёткость и понятность. Однако, пиксель является фиксированной величиной и не позволяет устанавливать соотношение между различными размерами.
В отличие от px, единицы em и rem – относительные величины.
При задании размера шрифта в em он считается относительно размера шрифта родительского блока.
1em равен размеру шрифта, установленному в родительском элементе.
Размер шрифта в rem рассчитывается относительно размера шрифта корневого элемента. Для веб-страницы это <html>.
👉 @frontendInterview
Пиксель px – это абсолютная единица измерения. 1px интерпретируется как 1/96 дюйма. Главное достоинство использования пикселей для определения размера – чёткость и понятность. Однако, пиксель является фиксированной величиной и не позволяет устанавливать соотношение между различными размерами.
В отличие от px, единицы em и rem – относительные величины.
При задании размера шрифта в em он считается относительно размера шрифта родительского блока.
1em равен размеру шрифта, установленному в родительском элементе.
Размер шрифта в rem рассчитывается относительно размера шрифта корневого элемента. Для веб-страницы это <html>.
👉 @frontendInterview
🔥4
Укажите результат исполнения кода
Anonymous Quiz
8%
{ a: "one", b: "two" }
30%
{ b: "two", a: "three" }
34%
{ a: "three", b: "two" }
28%
Error
👍29👎3❤1
Почему typeof null возвращает object?
В JavaScript,
Причина, по которой
На самом деле, в начальной версии JavaScript, null был представлен в виде 0 в памяти и интерпретировался как указатель на объект. В этом случае, вернув "object" при typeof null, создатели JavaScript дали возможность понять, что значение является "пустой ссылкой", указывающей на отсутствие объекта.
👉 @frontendInterview
В JavaScript,
typeof null возвращает строку "object", что может показаться странным, поскольку null является специальным значением, обозначающим отсутствие значения или пустую ссылку.Причина, по которой
typeof null возвращает "object", связана с историческими особенностями реализации JavaScript в браузерах.На самом деле, в начальной версии JavaScript, null был представлен в виде 0 в памяти и интерпретировался как указатель на объект. В этом случае, вернув "object" при typeof null, создатели JavaScript дали возможность понять, что значение является "пустой ссылкой", указывающей на отсутствие объекта.
👉 @frontendInterview
👍16👎3
👍12👎1😱1
Почему не стоит использовать краткую запись свойств CSS?
Anonymous Quiz
75%
Краткая запись свойств может привести к неожиданным результатам и поведению.
6%
Краткая запись свойств делает код более читаемым и легким для понимания.
11%
Краткая запись свойств увеличивает производительность рендеринга веб-страницы.
8%
Краткая запись свойств позволяет сохранить меньший размер файла CSS.
👎21👍4
Что такое ArrayBuffer? В чем разница между Uint32Array и Float32Array? Каким будет результат выполнения кода?
Теперь рассмотрим код:
При вызове
Вместо использования
👉 @frontendInterview
const uint32Array = new Uint32Array();
Array.isArray(uint32Array);
ArrayBuffer - это объект в JavaScript, представляющий собой буфер памяти, который содержит определенное количество байтов. Он служит основой для создания "представлений" данных, таких как типизированные массивы в JavaScript.Uint32Array и Float32Array являются различными типами типизированных массивов, которые предоставляют доступ и манипуляцию данными в ArrayBuffer. Главная разница между ними заключается в типе элементов, которые они содержат: Uint32Array содержит беззнаковые 32-битные целые числа (unsigned 32-bit integers), а Float32Array содержит 32-битные числа с плавающей запятой (floating-point numbers).Теперь рассмотрим код:
const uint32Array = new Uint32Array();Результат выполнения данного кода будет
Array.isArray(uint32Array);
false. При вызове
Array.isArray(uint32Array) мы проверяем, является ли uint32Array массивом. Однако, Uint32Array является типизированным массивом и не наследует стандартное поведение JavaScript-массивов. Он имеет свои особенности и методы специфичные для типизированных массивов.Вместо использования
Array.isArray, мы можем использовать uint32Array instanceof Uint32Array для проверки типа объекта uint32Array и узнать, что он является экземпляром Uint32Array.👉 @frontendInterview
👍7🔥4❤2
First Course in Algorithms Through Puzzles (2019)
Этот учебник знакомит с основными алгоритмами и объясняет их аналитические методы. Все алгоритмы и методы, представленные в этой книге, хорошо известны и часто используются в реальных программах. Книга начинается с базовых моделей, и никаких предварительных знаний не требует. Эта книга подходит для студентов старших курсов технических направлений, а также для самостоятельного изучения начинающими специалистами, интересующимися увлекательной областью алгоритмов.
Более 40 упражнений разного уровня сложности. Решения и комментарии ко всем упражнениям приводятся в последней главе.
👉 @frontendInterview
Этот учебник знакомит с основными алгоритмами и объясняет их аналитические методы. Все алгоритмы и методы, представленные в этой книге, хорошо известны и часто используются в реальных программах. Книга начинается с базовых моделей, и никаких предварительных знаний не требует. Эта книга подходит для студентов старших курсов технических направлений, а также для самостоятельного изучения начинающими специалистами, интересующимися увлекательной областью алгоритмов.
Более 40 упражнений разного уровня сложности. Решения и комментарии ко всем упражнениям приводятся в последней главе.
👉 @frontendInterview
👍5
Split Strings
Создайте функцию, которая принимает строку и разбивает эту строку на массив пар символов. Если последнему символу не хватает пары, то к нему добавляется ('_').
Примеры:
👉 @frontendInterview
Создайте функцию, которая принимает строку и разбивает эту строку на массив пар символов. Если последнему символу не хватает пары, то к нему добавляется ('_').
Примеры:
'abc' => ['ab', 'c_']
'abcdef' => ['ab', 'cd', 'ef']👉 @frontendInterview
Как определить, чему равен this в функции?
Задайте себе следующие вопросы в указанном порядке и остановитесь, когда найдете первое подходящее правило.
1. Функция вызвана с new (связывание new)? Если да, то this содержит новый сконструированный объект.
Вот и все. Вот и все, что необходимо для понимания правил связывания this для нормальных вызовов функций.
👉 @frontendInterview
Задайте себе следующие вопросы в указанном порядке и остановитесь, когда найдете первое подходящее правило.
1. Функция вызвана с new (связывание new)? Если да, то this содержит новый сконструированный объект.
var bar = new foo()2. Функция вызвана с call или apply (явное связывание), даже скрытыми в жесткой привязке bind? Если да, то this содержит явно заданный объект.
var bar = foo.call( obj2 )
3. Функция вызвана с контекстом (неявное связывание), также называемым объектом-владельцем или содержащим объектом? Если да, то this содержит контекстный объект.var bar = obj1.foo()4. В остальных случаях используется this по умолчанию (привязка по умолчанию). Если действует режим strict, выбирается undefined, а если нет — глобальный объект:
var bar = foo()Нормальные функции подчиняются четырем описанным правилам. Но в ES6 появилась особая разновидность функций, которая не использует эти правила: стрелочные функции. Стрелочные функции обозначаются не ключевым словом function, а так называемым оператором «толстой стрелки» =>. Вместо четырех стандартных правил this стрелочные функции принимают связывание this от внешней области видимости (функциональной или глобальной).
Вот и все. Вот и все, что необходимо для понимания правил связывания this для нормальных вызовов функций.
👉 @frontendInterview
👍15👎2❤1
Каков результат выполнения этого кода?
Anonymous Quiz
16%
undefined
7%
Error
2%
null
74%
{ model: "Honda", country: "UK" }
🥰3