Типы данных Flashcards
Какие примитивные типы данных существуют?
существует 7 примитивных типов данных: string, number, boolean, symbol, null, undefined, bigint.
Для чего используются объекты-обертки String, Number, Boolean, Symbol, BigInt?
объекты-обертки String, Number, Boolean, Symbol, BigInt используются для расширения функционала примитивов. Они включают все методы примитивов, что позволяет использовать методы для примитивов и при этом сохранить скорость работы примитивов на прежнем уровне.
Могут ли создаваться объекты-обертки для примитивных типов данных?
да, объекты-обертки могут быть созданы для примитивных типов данных через обращение к свойству примитива через точку.
Как не рекомендуется использовать конструкторы String, Number, Boolean?
Конструкторы String, Number, Boolean не рекомендуется использовать с оператором new, так как могут быть ошибки.
Можно ли использовать конструкторы String, Number, Boolean без оператора new?
да, конструкторы String, Number, Boolean могут быть использованы без оператора new для преобразования типов данных.
Имеют ли null и undefined объекты-обёртки и методы?
Нет, у null и undefined нет объектов-обёрток и методов.
Что происходит при попытке создания свойства у null или undefined?
При попытке создания свойства у null или undefined возникает ошибка.
Что происходит, когда пытаются создать свойство у примитивного типа данных?
Если попытаться добавить свойство к примитиву, то JS создаст временный объект-обертку с этим свойством, но после завершения операции объект-обертка уничтожится и изменения не сохранятся.
Что такое 64-битный формат IEEE-754?
64-битный формат IEEE-754 — это стандарт для представления чисел с плавающей точкой в компьютерах. В JS он используется для хранения чисел типа number, который использует 64 бита для представления числа и включает знак, мантиссу и экспоненту.
Как записать число в научном формате?
Число можно записать в научном формате, используя экспоненту: например, let billion = 1e9; // 1000000000.
Как представить число в системе счисления с основанием 16?
Число можно представить в системе счисления с основанием 16, используя префикс 0x: let a = 0xff; // 255.
Какие методы округления чисел есть в JavaScript?
В JavaScript есть несколько методов округления чисел: Math.floor (округление в меньшую сторону), Math.ceil (округление в большую сторону), Math.round (округление до ближайшего целого) и Math.trunc (удаление дробной части без округления).
Как округлить число до определенного количества знаков после запятой?
Число можно округлить до определенного количества знаков после запятой, используя метод toFixed(n): let num = 12.34; alert(num.toFixed(1)); // “12.3”.
Как решить проблему потери точности при работе с дробными числами в JavaScript?
Наиболее надежный способ избежать проблемы потери точности при работе с дробными числами в JavaScript - использовать метод toFixed(n), который округляет число до определенного количества знаков после запятой.
Что такое IEEE-754 и как это связано с нулями 0 и -0?
IEEE-754 - это стандарт для представления чисел с плавающей точкой в компьютерах. Этот стандарт использует прямой код, из-за чего возникают два разных представления для нуля: положительный 0 и отрицательный 0 (-0).
Что делает функция isNaN() и как она отличается от проверки на равенство с NaN?
isNaN() преобразует свой аргумент в число и проверяет, является ли оно NaN. При этом, NaN не равен ничему, даже самому себе, поэтому проверка на равенство с NaN с помощью оператора === всегда возвращает false.
Что делает функция isFinite() и как она отличается от проверки на равенство с Infinity/-Infinity?
isFinite() преобразует свой аргумент в число и возвращает true, если это число является конечным (то есть не равно NaN/Infinity/-Infinity). Проверка на равенство с Infinity/-Infinity с помощью оператора === также может использоваться для определения бесконечных значений, но isFinite() более удобна в использовании.
Какие особенности есть у функции Object.is()?
Object.is() осуществляет строгое сравнение значений с учетом нескольких особых правил:
- он возвращает true для двух NaN, в отличие от оператора ===;
- он возвращает false для двух нулей с разными знаками, в отличие от оператора ===;
- в остальных случаях Object.is() эквивалентен оператору ===.
Какие функции используют для явного преобразования строки в число и как они отличаются друг от друга?
Для явного преобразования строки в число используют функции +/Number(), parseInt() и parseFloat(). Отличие между ними в том, что +/Number() преобразуют строку в число с учетом возможности наличия десятичной точки, а функции parseInt() и parseFloat() преобразуют только целое или десятичное число соответственно, игнорируя любой другой текст, находящийся в строке.
Как использовать функцию parseInt() для чтения чисел в других системах счисления?
Для чтения чисел в других системах счисления с помощью функции parseInt() нужно передать второй параметр radix, указывающий на основание системы счисления. Значение radix должно быть между 2 и 36, по умолчанию оно равно 10.
Какой формат используется для строк в JavaScript?
Всегда используется формат UTF-16, независимо от кодировки страницы.
Какие типы кавычек можно использовать для создания строк в JavaScript?
Можно использовать двойные кавычки (“ “), одинарные кавычки (‘ ‘), и обратные кавычки (``).
Какой преимущественный метод работы с обратными кавычками в JavaScript?
Обратные кавычки могут содержать выражения и позволяют записывать более одной строки в одну.
Какие символы оставлены для обратной совместимости, но сейчас не используются?
\b, \f, \v