1. Опишите одну вещь, которую вы изучаете сегодня на уроке.

· Одна вещь, которую мы узнали сегодня на уроке, это как сделать массив! Массив — это специализированный объект в Javascript. Это полезно для хранения элементов в том порядке, в котором важен порядок, или для группировки списков элементов вместе. Объявление массива очень похоже на объявление переменной. Для этого я помещу массив в квадратные скобки и разделю элементы в массиве запятой. Каждый элемент в массиве имеет индекс, который представляет порядок, в котором они расположены в массиве. Массивы имеют индекс 0. Элементы, хранящиеся в массиве, могут иметь любой тип данных, такой как число, нуль, строка, массив, объект, функция, узел и т. д. Массивы внутри массивов называются вложенными. Мы выполнили упражнение на доске в классе, в котором вас просили взять массив чисел, возвести его в степень или два и вернуть сумму нового массива. Я думал, что это было забавным маленьким испытанием, которое действительно щекотало мой мозг.

2. Что такое «строгое использование»? Каковы преимущества и недостатки его использования?

· Цель — указать, что код должен выполняться в «строгом режиме». В строгом режиме вы не можете, например, использовать необъявленные переменные. Строгий режим упрощает написание «безопасного» Javascript. Он превращает ранее принятый «плохой синтаксис» в настоящие ошибки. Например, в обычном Javascript опечатка в имени переменной создает новую глобальную переменную. В строгом режиме это вызовет ошибку, что сделает невозможным случайное создание глобальной переменной. Без этого разработчик не получит никакой обратной связи об ошибках, присваивая значения незаписываемым свойствам. Как указано выше, некоторые преимущества заключаются в обнаружении общих ошибок кодирования и создании исключений. Он предотвращает или выдает ошибки при выполнении относительно «небезопасных» действий (например, при получении доступа к глобальному объекту). Он также отключает функции, которые сбивают с толку или плохо продуманы. В строгом режиме очень мало недостатков. Строгий режим запрещает вам делать определенные вещи, но люди обычно думают, что вы не должны использовать эти вещи в первую очередь.

3. Объясните «подъем».

· Когда Javascript компилирует весь ваш код, все объявления переменных, использующие var, помещаются/поднимаются в верхнюю часть своей функциональной/локальной области видимости (если они объявлены внутри функции) или в верхнюю часть их глобальной области видимости (если они объявлены вне функции). независимо от того, где было сделано фактическое заявление. На самом деле происходит то, что ваши объявления функций и переменных добавляются в память на этапе компиляции. Объявления и инициализация подъемников Javascript не поднимаются.

4. Объясните важность стандартов и органов по стандартизации.

· Использование стандартов автоматически делает каждую страницу, которую вы создаете, действительно кроссбраузерной и кроссплатформенной. Используя веб-стандарты, веб-дизайнеры, разработчики и инженеры смогут добиться более стабильной сети, несмотря на постоянное внедрение нового аппаратного и программного обеспечения. Благодаря использованию стандартов время разработки и обслуживания сокращается в результате более быстрой отладки и устранения неполадок, когда дело доходит до обработки кода, который мы создаем. Стандарты допускают обратную совместимость и проверку, поскольку они написаны для совместимости со старыми версиями браузеров. Этот совместимый код можно проверить с помощью службы проверки, которая значительно упрощает работу разработчика, что приводит к сокращению времени производства.

5. Какие действия вы лично предприняли в последних проектах, чтобы повысить удобство сопровождения вашего кода?

· Некоторые действия гарантируют, что я не буду повторно использовать и повторять большую часть своего кода. Я также использую Prettier, чтобы сделать мой код немного более читабельным, чтобы я мог вернуться к нему и работать над ним даже годы спустя. Я начинаю комментировать свой код, чтобы знать, где все начинается и заканчивается. Я также стараюсь делать очень описательные имена переменных, методов и классов. Я слежу за тем, чтобы рекомендации по компоновке/форматированию кода применялись последовательно во всем, а также максимизировали связность и сводили к минимуму взаимосвязь.

6. Почему не стоит расширять встроенные объекты JavaScript?

· В некоторых статьях говорится, что «если в будущем браузер решит реализовать собственную версию вашего метода, ваш метод может быть переопределен (молча) и реализация браузера (вероятно, отличная от вашей) вступит во владение». Это заставляет меня думать, что если я решу перезаписать определение браузера, любой будущий разработчик, работающий над моим кодом, не узнает об изменении. Им будет труднее набрать скорость. Таким образом, он нарушит свою функциональность по умолчанию и нарушит мой код, используя этот конкретный встроенный метод или свойство объекта JS. Люди, как правило, по-разному думают об этом, но, в конце концов, говорят, что мы руководствуемся нашим здравым смыслом. В некоторых сценариях легко определить, чего следует избегать и каков наилучший подход к устранению проблемы.

7. Почему вообще рекомендуется оставить глобальную область веб-сайта такой, какая она есть, и никогда ее не трогать?

· Труднее читать код и рассуждать об этом, когда кажется, что переменные появляются из воздуха (но на самом деле из глобальной области видимости).

· Любой может обновить глобальную переменную из любой точки программы в любое время (и из любого потока, если их несколько).

· Также вероятно, что мы столкнемся с классами имен глобальных переменных. Поскольку существует только одно пространство имен, мы, скорее всего, удвоим имя переменной.

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