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

На уроке мы учимся создавать более сложные отношения

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

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

Использование строгого режима гарантирует, что код, написанный на JavaScript, будет выполняться в строгом режиме. Строгий режим упрощает написание «безопасного» JavaScript. Строгий режим помогает программистам избежать неправильного синтаксиса, который ранее допускался в JavsScript. Например, переменная, которая не является первой в объявлении, не может использоваться с «использовать строго». то есть let или const должны стоять перед любой новой переменной. Другой неправильный синтаксис, такой как удаление функции или дублирование параметра, вызовет ошибки при использовании «use strict».

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

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

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

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

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

Это концепция, о которой я не слишком много думал в коде, над которым работал до сих пор. Тем не менее, используя лучшие практики при написании кода, комментируя его, особенно файлы Javascript, когда есть несколько функциональных частей, которые не всегда отображаются в DOM. Попытка убедиться, что если я вернусь к старому проекту кодирования позже, я все еще смогу понять мыслительный процесс и основные функции каждого фрагмента кода. Из того, что я читал, ремонтопригодность также может относиться к созданию кода, который можно изменять/масштабировать для ваших нужд. Поэтому, когда вы впервые пишете код, старайтесь писать его таким образом, чтобы в случае необходимости настроить определенные элементы это было легко сделать. В идеале вам не придется переписывать 100 различных условных операторов, чтобы удовлетворить ваши новые потребности.

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

Расширение встроенных объектов JavaScript — это идея, согласно которой мы, как разработчики, хотим сделать шаг вперед, а не просто использовать объекты, предоставляемые JavaScript. Расширяя встроенный, мы можем добавлять новые свойства и изменять объекты в соответствии с нашими потребностями. Это может стать проблемой по нескольким причинам.

«В будущем JavaScript может реализовать собственную версию вашего пользовательского метода (используя то же имя), и это переопределит ваш собственный метод.

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

Источник: http://rlynjb.github.io/wandrr/JS-Interview-Question-Why-is-extending-built-in-JavaScript-objects-not-a-good-idea

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

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

Источник: https://medium.com/@nupoor_neha/javascript-front-end-interview-questions-1cbc5e32792b