Основное использование и создание функций

Что такое объявление функции?

Объявление функции — наиболее распространенный способ определения функции. Вы можете объявить функцию до или после ее вызова (благодаря подъему). Вы также можете передавать функции в качестве аргументов и назначать им аргументы по умолчанию.

Что такое подъем?

Способность Javascript вызывать функции до того, как они появятся в коде, называется подъемом. Более подробно описанный в MDN, это «процесс, посредством которого компилятор выделяет память для объявлений переменных и функций перед выполнением кода».

Чтобы подъем работал, функция должна быть определена с помощью объявления функции. Переменные, определенные с помощью const и let, не поднимаются — их начальное значение установлено как неинициализированное.

Переменные, определенные с помощью var, могут быть подняты, но иметь начальное значение undefined.

Что такое анонимная функция?

Это функция, у которой нет имени. У нас нет способа вызвать анонимную функцию. Мы можем вызывать его только как функцию обратного вызова. Анонимная функция фиксирует работу, не выполняя ее.

Что такое метод обработки коллекции?

Метод обработки коллекции — это метод, предоставляемый Javascript, который посещает каждый элемент в паре или коллекции, проверяет этот элемент или пару с работой, возвращает новую коллекцию или значение. Некоторые методы обработки коллекции перечислены ниже: every (Ссылки на внешний сайт.): Все ли элементы удовлетворяют обратному вызову?

  • find: найти первый элемент, удовлетворяющий обратному вызову
  • findIndex: Найдите индекс первого элемента, удовлетворяющего обратному вызову
  • map: преобразовать каждый элемент и создать новый массив
  • reduce: уменьшить каждый элемент до нового значения
  • some: Удовлетворил ли какой-либо элемент обратному вызову?

Дополнительные пояснения:

Что делает forEach и почему мы хотим этого избежать?

ForEach — наименее выразительный, но наиболее гибкий метод обработки коллекций. Он меньше всего сообщает другим программистам о том, что мы пытаемся сделать. Лучшее время для использования forEach — это когда вам нужно перечислить коллекцию, чтобы вызвать какой-то побочный эффект. Одним из примеров этого может быть перебор массива со значениями console.log. Для этого вам не нужно создавать новый массив, а .map() без необходимости создает новый массив. Думал, что в большинстве случаев вы захотите попробовать использовать .map или .reduce, чтобы сообщить о наших намерениях.

Что делает .map?

Этот метод создает новый массив после преобразования или применения работы к каждому элементу.

Что делает .reduce?

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

Что делает .filter?

.Filter() принимает элемент с необязательным индексом и массивом. Он отображает коллекцию и накапливает только те элементы, которые возвращают истинное значение из обратного вызова.

Что такое неприменение арности?

Неприменение Arity означает, что нам не нужно предоставлять все параметры, которые доступны в функции javascript и которые были указаны при создании этой функции, когда мы вызываем эту функцию. *уточнено в следующем посте*

Что такое обратный вызов?

Функция является обратным вызовом, когда она передается другой функции в качестве аргумента.

Что делает array.prototype.index0f()?

Array.prototype.indexOf() вызывается для массива и принимает два аргумента: искомое значение и необязательную начальную позицию. Он по очереди сравнивает каждый элемент с искомым значением, используя оператор строгого равенства (===), и возвращает индекс первого совпадающего элемента. Если элемент не содержится в массиве, возвращается -1. Когда вы вызываете его, вам не нужно включать прототип слова. Use this when you want to check an array for a simple value. Call the function on an array and pass the value you are looking for as an assignment.

Что делает array.prototype.find()?

Array.prototype.find() позволяет выполнять более сложные поиски, передавая ему функцию обратного вызова. Метод будет автоматически перебирать массив, вызывать обратный вызов для каждого значения и возвращать первый элемент в массиве, который удовлетворяет условию, определенному функцией. Если соответствующий элемент не найден, возвращается undefined. Find вызывается для массива точно так же, как и indexOf, но принимает функцию в качестве аргумента. Используйте это, когда вы хотите определить условие, которому должен соответствовать элемент, что позволяет выполнять более сложные поиски.

Что такое прослушиватели событий?

Что такое предотвращение нарушений по умолчанию? В чем разница между preventDefault(), stopPropagation() и returnFalse()? Как мы используем предотвращение дефолта?

Метод preventDefault() позволяет предотвратить поведение по умолчанию для события, например остановку действия при нажатии. Он используется для предотвращения выполнения браузером действия по умолчанию для выбранного элемента. Поведение по умолчанию может меняться в зависимости от типа задействованного элемента. Например, со ссылками поведение по умолчанию будет заключаться в перенаправлении на URL-адрес, но с помощью preventDefault() мы можем предотвратить это. Например, это может помешать пользователю обработать запрос, нажав на ссылку.

Метод stopPropagation() не останавливает поведение элементов по умолчанию. Это предотвращает дальнейшее распространение текущего события на этапах захвата и всплытия. Это не предотвращает поведение по умолчанию; например, клики по ссылкам все еще обрабатываются. Если вызывается родительское событие, stopPropagation() может остановить распространение вызова его дочерних элементов.

Что такое оператор rest/spread? Как это работает?

Оператор распространения позволяет нам распределить значение массива (или любого итерируемого объекта) по нулю или более аргументам в функции или элементам массива (или любого итерируемого объекта). Параметр rest позволяет нам передать неопределенное количество параметров функции и получить к ним доступ в виде массива.

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

Что такое оператор спреда?

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

Что такое остаточный оператор?

Синтаксис Rest выглядит точно так же, как синтаксис расширения. В то время как синтаксис расширения расширяет массив на его элементы, синтаксис остатка собирает несколько элементов и объединяет их в один элемент.

Какие основные функции появились в ES6?

Стрелки, классы, расширенные литералы объектов и строки шаблонов — вот некоторые из новых функций ES6.

В чем разница между let, const и var?

Объявления Var имеют глобальную область действия или область действия функции, в то время как let и const имеют область действия блока. переменные var можно обновлять и повторно объявлять в пределах своей области видимости; пусть переменные могут быть обновлены, но не объявлены повторно; константные переменные не могут быть ни обновлены, ни повторно объявлены. Все они подняты на вершину своих возможностей

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

Функция стрелки — также называемая функцией толстой стрелки — это новая функция, представленная в ES6, которая представляет собой более краткий синтаксис для написания функциональных выражений.

Что такое функция обратного вызова? Когда мы их используем?

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

Как вы создаете объекты в Javascript?

В дополнение к предопределенным объектам, которые есть в Javascript, вы можете создавать свои собственные, используя инициализатор объекта или функцию-конструктор. Если вы используете функцию построения, вы должны создать экземпляр объекта, вызвав эту функцию с оператором new. (?)

Что такое закрытие?

Замыкание — это комбинация объединенной (вложенной) функции со ссылками на ее окружающее состояние (лексическое окружение). Другими словами, замыкание дает вам доступ к области действия внешней функции из внутренней функции. В JavaScript замыкания создаются каждый раз, когда создается функция, во время создания функции.

Есть ли в JS классы? Если да, то как его создать?

JavaScript следует аналогичной модели, но не имеет определения класса, отдельного от конструктора. Вместо этого вы определяете функцию-конструктор для создания объектов с определенным исходным набором свойств и значений. В качестве конструктора можно использовать любую функцию JavaScript. Технически утверждение «В JavaScript нет классов» верно. Хотя JavaScript — объектно-ориентированный язык, это не язык, основанный на классах — это язык, основанный на прототипах. Между этими двумя подходами есть различия, но поскольку JavaScript можно использовать как язык, основанный на классах, многие люди (включая меня) часто называют функции-конструкторы просто «классами».

Какова цель функции конструктора?

Метод конструктора — это специальный метод класса для создания и инициализации объекта этого класса. Конструктор — это функция, которая создает экземпляр класса, который обычно называют «объектом». В JavaScript конструктор вызывается, когда вы объявляете объект с помощью нового ключевого слова. Цель конструктора — создать объект и установить значения, если имеются какие-либо свойства объекта.

Что означает ключевое слово this?

Ключевое слово this относится к текущему объекту в методе или конструкторе. Ключевое слово this чаще всего используется для устранения путаницы между атрибутами класса и параметрами с одинаковыми именами (поскольку атрибут класса затенен параметром метода или конструктора).

Что мы подразумеваем под контекстом? Определите ценность этого везде, где вы использовали его в своем проекте (?)

Контекст всегда является значением ключевого слова this, которое является ссылкой на объект, который «владеет» текущим исполняемым кодом или функцией, на которую он просматривается. Мы знаем, что окно является глобальным объектом в браузере, поэтому, если мы введем это в консоли, оно должно вернуть объект окна, что оно и делает.

Как создать метод объекта в JS?

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

Как создать метод/функцию класса в JS?

Класс JavaScript — это тип функции. Классы объявляются с помощью ключевого слова class. Мы будем использовать синтаксис выражения функции для инициализации функции и синтаксис выражения класса для инициализации класса.

Как сделать свойство/метод закрытым в ES6?

Все свойства в классах ES6 по умолчанию общедоступны и могут быть просмотрены или изменены вне класса. Вы можете поместить его в конструктор (?)

Как бы вы преобразовали код OOJS в функциональный код?

В функциональном программировании данные не могут храниться в объектах и ​​могут быть преобразованы только путем создания функций. В объектно-ориентированном программировании данные хранятся в объектах. В функциональном программировании для выполнения функций всегда требуется новый объект, а для выполнения приложений требуется много памяти.

Как работает деструктуризация?

Деструктуризация – это удобный способ извлечения нескольких значений из данных, хранящихся в (возможно, вложенных) объектах и ​​массивах.

Что делает stopPropagation()? Для каких типов событий это работает?

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

Контекст выполнения

Что такое контекст выполнения?

Когда функции Javascript выполняются, у них есть связанный с ними объект Javascript, к которому они могут получить доступ через ключевое слово this. Внутри функции это объект, представляющий контекст выполнения функции.

Какие методы вызываются и применяются?

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

Что такое привязка метода?

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

Что такое программирование, ориентированное на записи?

Программирование, ориентированное на записи, — это стиль программирования, основанный на доступе к записям и их обработке для их обновления (сопоставления) или для агрегирования их информации (уменьшения).