Алекс Борсбах
1. Опишите одну вещь, которую вы изучаете сегодня на уроке.
Сегодня я узнал, что str.replace(/[^A-Za-z0–9\s]/g, "") заменит все символы, которые не представляют собой слово, и будет "превращено" в "пустой" пробел.
2. Разница между: function Person(){}
, var person = Person()
и var person = new Person()
?
function Person() {} объявляет оператор функции, который зарегистрирован в глобальном пространстве имен, но не выполняется.
var person = Person() объявляет переменную «Person» и содержит ссылку на значение для функции «Person».
var person = new Person() добавляя «new», мы создаем экземпляр нового объекта в конструкторе класса Person.
3. В чем разница между «атрибутом» и «свойством»?
Атрибут очень похож на свойство, но он находится в HTML. Свойство находится в DOM, и рекомендуется работать со свойством, когда это возможно.
4. Какие языковые конструкции вы используете для перебора свойств объекта и элементов массива?
Вы должны использовать цикл for для каждого, отображать, преобразовывать и уменьшать. Есть и другие, которые вы можете использовать в зависимости от того, что вам нужно.
5. Что такое цикл событий?
Цикл событий — это процесс, который постоянно работает в фоновом режиме и проверяет, не пуст ли стек вызовов. Если он пуст, он проверит очередь событий. Если в очереди событий есть что-то, то оно будет перемещено в стек вызовов, иначе ничего не произойдет.
6. В чем разница между стеком вызовов и очередью задач?
Стек вызовов — это внутренняя структура данных для каждого процесса, которая хранит запись цепочки вызовов функций и локальных переменных в любой момент выполнения. Он живет в собственной виртуальной памяти процесса и является стеком, потому что каждый вызов функции помещает в него что-то, а каждый возврат функции удаляет из него что-то. Он также часто используется при вычислении выражений внутри функции. В большинстве современных архитектур он растет в обратном направлении от конца виртуальной памяти вниз к статическим данным или данным кучи.
Очередь задач (или очереди, их может быть больше одной) — это структура данных ядра (т. е. недоступная для процесса и не являющаяся частью его виртуальной памяти), которая объединяет записи процессов, ожидающих использования процессора. Может быть отдельная очередь для каждого процессора для многопроцессорных систем и/или отдельная очередь для каждого уровня приоритета в соответствии с дизайном планировщика. Это очередь, потому что записи обычно размещаются на одном конце и удаляются с другого, хотя иногда их порядок можно изменить, если так решит планировщик.
7. Каковы различия между конструкторами класса ES6 и конструкторами функций ES5?
В ES5 вам пришлось бы создать такую функцию, как:
function myClass() {
console.log('constructor');
}
myClass.prototype.doSomething = function() {
return 'Something';
}
Теперь в ES6 вы можете сразу определить класс вместо функции с меньшим количеством ввода. Примером может быть:
class myClass {
constructor() {
console.log('constructor');
}
doSomething() {
return 'Something';
}
}