Изучите концепции JavaScript в мгновение ока

Чтобы пройти любое собеседование, необходимо знать, с каким инструментом вы работаете.

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

К счастью, концепции JavaScript можно понять в мгновение ока.

Если вам интересно, JavaScript не имеет ничего общего с Java, это плохой выбор имени, но нам придется с этим смириться.

1. Высокий уровень

JavaScript предоставляет абстракции.

Детали устройства, на котором оно работает, не нужны. Ваша задача — сосредоточиться на коде.

Кроме того, управление памятью происходит автоматически. В других языках такое поведение не типично, например C. Там вам нужно будет убрать за собой. JavaScript предоставляет вам сборщика мусора, вроде вашего личного дворецкого, убирающего за вами.

Запускайте JavaScript в любом месте и используйте конструкции, которые позволяют работать с мощными переменными и объектами без необходимости убирать за собой.

2. Динамически типизированный

Сохраните число в переменную типа string — вы облажались.

Иначе обстоит дело в JavaScript, где переменная не имеет обязательного типа (определенный тип значения). Например, если вы сохраняете число, вы можете затем перезаписать ту же переменную текстовой строкой. Противоположным является статическая типизация. Такие языки, как C или C#, не допускают описанного поведения перезаписи.

В JavaScript вы можете переназначить любое значение уже существующей переменной.

3. Свободно типизированный

Объекты также могут быть типизированы.

Но JavaScript не применяет тип объекта. Это обеспечивает большую гибкость по сравнению с такими языками, как C, C# или C++. Иногда вам нужно проверить, с каким объектом вы столкнулись. В этом случае JavaScript сбивает вас с простого типа object.

TypeScript, построенный на основе JavaScript, предоставляет эти строго типизированные объекты. Но без JavaScript вы не сможете выучить TypeScript. Еще одна причина изучать JavaScript.

Создайте любой объект, который вам нравится, но у вас нет возможности безопасно ввести проверку, является ли ваш объект сундуком, врагом, предметом или Правописание.

4. Интерпретировано

Нет, нет, здесь нет Шекспира!

Я имею в виду, что вам не нужно компилировать свой код на какой-либо машинный язык (байт-код), на котором выполняется ваша программа. Вместо этого каждая строка интерпретируется по мере ее прохождения. C, Java или Go требуют предварительной компиляции. Под капотом браузеры «компилируют» JavaScript перед запуском вашего кода. Но нет никаких дополнительных шагов, которые вам нужно предпринять или знать.

Совет: движок V8, на котором работают Google Chrome и NodeJS, компилирует собственный код внутри:

V8 повышает производительность за счет компиляции JavaScript в собственный машинный код перед его выполнением вместо выполнения байт-кода или его интерпретации.

5. Мультипарадигма

Делай, что хочешь, потому что пират свободен!

Кодирование в JavaScript не навязывает какую-либо конкретную парадигму программирования.

Например, C# требует использования объектно-ориентированного программирования с классами и интерфейсами.

C заставляет вас использовать императивное программирование (предшественник объектно-ориентированного программирования).

В JavaScript вы можете написать свою программу, используя объектно-ориентированную парадигму, прототипы и синтаксис классов. Вы можете писать JavaScript в функциональном стиле программирования, с первоклассными функциями или даже в императивном стиле (C-подобном).

Получите шпаргалки для веб-разработчиков и изучайте только то, что вам действительно нужно, чтобы получить свою первую работу!

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.