- Введение в JavaScript
 JavaScript — это интерпретируемый язык, что означает, что его можно выполнять напрямую без необходимости процесса компиляции, как в компилируемых языках, таких как Python. Кроме того, это динамический язык, что означает, что он допускает динамическую типизацию. Это позволяет разработчикам изменять тип данных переменной «на лету», как показано в следующем блоке кода:
let x = 1;
x = 'hello';
x = true;
x = { a: 1, b: 2 };
x = [1, 2, 3, 4, 5];
x = function (a, b) {
  return a + b;
};
2. Объектно-ориентированные концепции в JavaScript
JavaScript также является объектно-ориентированным языком, но его реализация объектно-ориентированных концепций отличается от таких языков, как C++ и Java. JavaScript основан на прототипах и использует первоклассную объектную модель, допускающую функциональное программирование.
3. Примитивные типы данных в JavaScript
JavaScript имеет примитивные типы данных, которые представляют собой простые типы данных, содержащие одно значение.  Одним из таких примитивных типов является symbol.  
Стоит отметить, что JavaScript не различает целые числа и числа с плавающей запятой;  
оба считаются number типами.  Кроме того, undefined и null считаются значениями в JavaScript.  
В случаях, когда переменной не присвоено значение или она неизвестна, JavaScript сохраняет это значение в области данных как undefined.  null обычно используется, когда объект должен присутствовать, но по какой-то причине его нет, или когда создание объекта не удается.
4. Особенности JavaScript
Одна интересная особенность JavaScript заключается в том, что typeof null возвращает object.  Это связано с ошибкой, возникшей при первоначальном проектировании языка.  Хотя null является значением, это не объект, что может привести к путанице.  Объекты не являются примитивными типами в JavaScript.
 
                                                                     
                                                                    