JavaScript — увлекательный и гибкий язык программирования. Это одна из основных технологий веб-разработки, которую можно использовать как во внешнем, так и во внутреннем интерфейсе. Сегодня я собираюсь поговорить о некоторых основных принципах JavaScript. Итак, без дальнейших рассуждений приступим.
1. Значения истинности и ложности JavaScript.
Ответ. Истинные и ложные значения — это те, которые возвращают истину или ложь, когда встречаются в логическом контексте. Программист часто использует эти значения для сравнения с вводом программы и получения ожидаемого результата.
Следующие шесть значений считаются ложными значениями:
1. False 2. Undefined 3. Null 3. “” or ‘’ 5. NaN 6. 0
Кроме них все считается истинным значением.
2. Разница между Null и Undefined.
Ответ: null и undefined — это типы данных в JavaScript. Null — это специальное значение, означающее «нет значения». Null — это особый объект, потому что typeof null возвращает объект. С другой стороны, undefined означает, что переменная не была объявлена или ей не было присвоено значение.
Пример нуля:
const b = null; console.log(b); console.log(typeof(b));
Вывод:
нулевой
объект
Пример неопределенного:
const b = undefined; console.log(b); console.log(typeof(b));
Вывод:
неопределенный
неопределенный
3. Разница между двойным равным (==) и тройным равным (===).
Ответ: Двойное равенство (==) и тройное равенство (===) работают для строго равных значений, когда они имеют одинаковую последовательность символов, одинаковую длину и одинаковые символы в соответствующих позициях. Но основное отличие заключается в том, что двойное равенство не заботится о том, является ли переменная того же типа или нет, а тройное равенство работает только со строго одинаковыми значениями одного и того же типа.
Пример двойного равенства:
const b = 555; const c = “555” console.log(b == c);
Вывод:
истинный
Потому что double equal не беспокоится о типах значений.
Пример тройного равенства:
const b = 555; const c = “555” console.log(b === c);
Вывод:
ложный
Потому что тройное равенство также строго проверяет тип значения.
4. Инкапсуляция и приватная переменная в JavaScript?
Ответ: Инкапсуляция — одна из фундаментальных концепций ООП. Инкапсуляция в JavaScript — это механизм объединения данных (переменных) и кода, воздействующего на данные (методы), как единое целое. Чтобы добиться инкапсуляции в JavaScript: -
- Используйте ключевое слово var, чтобы сделать элементы данных закрытыми.
- Используйте методы установки для установки данных и методы получения для получения этих данных.
Инкапсуляция позволяет нам обрабатывать объект, используя следующие свойства:
Чтение/запись — здесь мы используем методы установки для записи данных, а методы получения считывают эти данные.
Только чтение — в этом случае мы используем только геттер-методы.
Только запись — в этом случае мы используем только методы установки.
Пример инкапсуляции:
var employee = { name : “Aditya Chaturvedi”, }; console.log(employee.name); employee.name = “Rahul Khanna”; console.log(employee.name);
Вывод:
Адитья Чатурведи
Рахул Кханна
Частная переменная: частные переменные — это те, которые видны только классу, к которому они принадлежат. В JavaScript частная переменная объявляется с помощью «#» в начале имени переменной.
Пример частной переменной:
#var_name = ‘rashed’
5. Пузырь событий с примером?
Ответ. Всплывающие события — это метод распространения событий в HTML DOM API, когда событие находится в элементе внутри другого элемента, и оба элемента зарегистрировали дескриптор этого события. Это процесс, который начинается с элемента, вызвавшего событие, а затем поднимается до содержащихся элементов в иерархии. При всплытии событий событие сначала захватывается и обрабатывается самым внутренним элементом, а затем распространяется на внешние элементы.
Пример:
<div> <ul> <li></li> </ul> </div>
В приведенной выше структуре предположим, что в элементе li произошло событие щелчка.
В модели захвата событие сначала будет обрабатываться элементом div (сначала будут срабатывать обработчики событий щелчка в элементе div), затем в элементе ul и, наконец, в целевом элементе li.
В всплывающей модели произойдет обратное: событие сначала будет обрабатываться элементом li, затем элементом ul и, наконец, элементом div.
6. Стрелочная функция, несколько параметров и тело функции.
Ответ: Функция стрелки позволяет нам быстро определить функцию JavaScript с помощью оператора стрелки (=›). Мы можем использовать стрелочную функцию с параметром, без параметра, даже с несколькими операторами.
Пример:
const arrow = () =>{ return ‘Arrow Function’; } console.log(arrow());
Вывод:
Функция стрелки
Несколько параметров: мы можем использовать другой метод для передачи нескольких параметров. Один из лучших способов — использовать оператор спреда. Оператор распространения в основном используется в массиве переменных, где ожидается более 1 значения. Оператор распространения можно использовать во многих случаях, например, когда мы хотим расширить, скопировать, объединить с математическим объектом.
Пример нескольких параметров:
function sum(…values) { let sum = 0; for (let i = 0; i < values.length; i++) { sum += values[i]; } return sum; } console.log(sum(1)); console.log(sum(1, 2, 3, 4, 5));
Вывод:
1
15
Тело функции: тело функции — это часть области, в которой происходит оценка функции. Тело функции — это область, в которой параметр обрабатывается для возврата или вывода ожидаемого результата.
Пример:
function sum(a, b) { return a + b;//function body } console.log(sum(1, 2));
7. Как работает рекурсия и рекурсия против итерации в JavaScript?
Ответ: Рекурсия — это процесс, в котором функция вызывает сама себя. Его можно использовать вместо цикла. Этот метод позволяет разбить сложные проблемы на простые, которые легче решить.
Пример:
const fact = n =>{ if(n <= 0){ return 1; } else{ return n * fact(n — 1); } } console.log(fact(5));
Вывод:
120
Рекурсия против итерации:
Here is some difference between recursion and iterative:
8. Что такое ДОМ?
Ответ: Функция обратного вызова JavaScript.
Ответ: Обратный вызов — это функция, которая передается в качестве аргумента другой функции. Этот метод позволяет функции вызывать другую функцию, а функция обратного вызова может выполняться после завершения другой функции.
Пример:
function greet(name, callback) { console.log(‘Hi’ + ‘ ‘ + name); callback(); } function callMe() { console.log(‘I am callback function’); } greet(‘Rashed’, callMe);
Вывод:
Привет Рашед
Я функция обратного вызова
9. Что такое API, назначение API, GET и POST.
Ответ. API (интерфейс прикладного программирования) — это набор функций, который позволяет приложениям получать доступ к данным и взаимодействовать с внешними программными компонентами, операционными системами или микросервисами.
Цель API — доставить ответ пользователя системе и отправить ответ системы обратно пользователю. Вы нажимаете «добавить в корзину»; API сообщает сайту, что вы добавили товар в корзину; веб-сайт помещает товар в вашу корзину, и ваша корзина обновляется.
GET — Gathers information (provides information) PUT — Updates data (Updating existing data) POST — Creates (Creating a new bunch of information)
10. Как понимать это ключевое слово?
Ответ: В JavaScript это ключевое слово относится к объекту, которому оно принадлежит. Он имеет разные значения в зависимости от того, где он используется:
1. In a method, this refers to the owner object. 2. Alone, this refers to the global object. 3. In a function, this refers to the global object. 4. In a function, in strict mode, this is undefined. 5. In an event, this refers to the element that received the event. 6. Methods like call(), and apply() can refer this to any object.