Краткое введение

1. Каковы возможные способы создания объектов в JavaScript?

Есть много способов создать объект в JavaScript, как показано ниже:

Конструктор объектов:

Самый простой способ создать пустой объект — использовать конструктор объектов. В настоящее время этот подход не рекомендуется.

Метод создания объекта:

Метод create класса Object создает новый объект, передавая объект-прототип в качестве параметра.

Синтаксис литерала объекта:

Синтаксис литерала объекта эквивалентен методу create, когда он передает значение null в качестве параметра.

Конструктор функций:

Создайте любую функцию и примените новый оператор для создания экземпляров объекта,

Вывод:

Конструктор функций с прототипом:

Это похоже на конструктор функций, но он использует прототип для своих свойств и методов.

Вывод:

Синтаксис класса ES6:

ES6 представляет функцию class для создания объектов

Вывод:

Шаблон одиночного элемента:

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

Вывод:

2. В чем разница между Call, Apply и Bind?

Разницу между Call, Apply и Bind можно объяснить с помощью приведенных ниже примеров.

Позвонить:

Метод call() вызывает функцию с заданным значением this и аргументами, предоставленными один за другим.

Вывод:

Применить:

Вызывает функцию с заданным значением this и позволяет передавать аргументы в виде массива

Вывод:

связать:

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

Вывод:

Вызов и применение довольно взаимозаменяемы. Оба немедленно выполняют текущую функцию. Вам нужно решить, что проще отправить: массив или список аргументов, разделенных запятыми. Вы можете запомнить, обработав Call для запятой (разделенный список), а Apply для массива.

Принимая во внимание, что Bind создает новую функцию, в которой this будет установлен на первый параметр, переданный в bind().

3. Что такое JSON и его общие операции

JSON — это текстовый формат данных, основанный на синтаксисе объектов JavaScript, который был популяризирован.Douglas Crockford Он полезен, когда вы хотите передавать данные по сети, и в основном это просто текстовый файл с расширением .JSON.

Синтаксический анализ: преобразование строки в собственный объект

Строка: преобразование нативного объекта в строку, чтобы его можно было передавать по сети.

4. Какова цель метода среза массива

Метод slice() возвращает выбранные элементы в массиве как новый объект массива. Он выбирает элементы, начиная с заданного начального аргумента и заканчивая заданным необязательным конечным аргументом, не включая последний элемент. Если вы опустите второй аргумент, он будет выбран до конца.

Некоторые из примеров этого метода:

Примечание. Метод Slice не изменяет исходный массив, но возвращает подмножество в виде нового массива.

5. Какова цель метода сращивания массивов

Метод splice() используется для добавления/удаления элементов в/из массива, а затем возвращает удаленный элемент. Первый аргумент указывает позицию массива для вставки или удаления, тогда как второй аргумент опции указывает количество элементов, которые необходимо удалить. Каждый дополнительный аргумент добавляется в массив.

Некоторые примеры этого метода:

Примечание. Метод объединения изменяет исходный массив и возвращает удаленный массив.

6. В чем разница между slice и splice.

Некоторые из основных отличий в табличной форме

Срез:

  1. Не изменяет исходный массив (неизменный)
  2. Возвращает подмножество исходного массива
  3. Используется для выбора элементов из массива

Соединение:

  1. Изменяет исходный массив (изменяемый)
  2. Возвращает удаленные элементы в виде массива
  3. Используется для вставки или удаления элементов в/из массива.

7. В чем разница между операторами == и ===

JavaScript обеспечивает как строгое (===, !==), так и преобразование типа (==, !=) сравнение на равенство. Строгие операторы учитывают тип переменной, тогда как нестрогие операторы выполняют исправление/преобразование типа на основе значений переменных. Строгие операторы следуют приведенным ниже условиям для разных типов:

  1. Две строки строго равны, если они имеют одинаковую последовательность символов, одинаковую длину и одинаковые символы в соответствующих позициях.
  2. Два числа строго равны, когда они численно равны. т. е. с одинаковым числовым значением. Здесь есть два частных случая,
  3. NaN ничему не равен, в том числе и NaN.
  4. Положительные и отрицательные нули равны друг другу.
  5. Два логических операнда строго равны, если оба истинны или оба ложны.
  6. Два объекта строго равны, если они относятся к одному и тому же объекту.
  7. Типы Null и Undefined не равны ===, но равны ==. т. е. null===undefined → false, но null==undefined → true

Некоторые из примеров, которые охватывают вышеуказанные случаи,

8. Что такое лямбда-функции или стрелочные функции

Стрелочная функция — это более короткий синтаксис функционального выражения и не имеет собственного this, arguments, super или new.target. Эти функции лучше всего подходят для функций, не являющихся методами, и их нельзя использовать в качестве конструкторов.

9. Что такое IIFE (выражение немедленно вызываемой функции)

IIFE (Immediately Invoked Function Expression) — это функция JavaScript, которая запускается, как только она определена. Подпись будет такой, как показано ниже:

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

10. Что такое функция высшего порядка?

Функция высшего порядка — это функция, которая принимает другую функцию в качестве аргумента или возвращает функцию в качестве возвращаемого значения, или и то, и другое.