До недавнего времени мне не приходилось много с ним играть. Я так хорошо провел время, что мне захотелось поделиться тем, что я узнал. Не позволяйте JS запугать вас! Я долгое время избегал интерфейсной веб-разработки, потому что считал, что объем информации, необходимый мне для продуктивной работы, огромен и непомерно высок. Оказывается, основы не так уж и плохи.

Эта статья — первая из серии «Изучение JavaScript», в которой я попытаюсь объяснить основы JavaScript.

Два вида данных

В JavaScript есть два разных типа данных: примитивы и объекты. Примитив — это просто тип данных, который не является объектом и не имеет методов.

В JS существует шесть примитивных типов данных:

  • логический
  • Число
  • Нить
  • Нулевой
  • Неопределенный
  • Символ

логический

Логическое значение представляет только одно из двух значений: true или false. Думайте о логическом значении как о включении/выключении или переключателе да/нет.

let boo1 = true;
let boo2 = false;

Число

В JavaScript есть только один тип числа. Числа можно записывать как с десятичной точкой, так и без нее. Число также может быть +бесконечность, -бесконечность и NaN (не число).

let num1 = 32;
let num2 = +Infinity;

Нить

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

let str1 = 'hello, it is me';
let str2 = "hello, it's me";

Нулевой

Null имеет одно значение: null. Это явно ничего.

let nothing = null;

Неопределенный

Переменная, не имеющая значения, не определена.

let testMe;
console.log(testMe); // undefined

Символ

Символы являются новыми в ES6. Символ — это неизменяемое примитивное значение, которое является уникальным. Ради краткости, это то, в чем эта статья будет охватывать символы.

const mySymbol = Symbol('mySymbol');

Как насчет объектов?

Объекты не являются примитивным типом данных.

Объект представляет собой набор свойств. Эти свойства хранятся в парах ключ/значение. Свойства могут ссылаться на данные любого типа, включая объекты и/или примитивные значения.

let obj = {
  key1: 'value',
  key2: 'value',
  key3: true,
  key4: 32,
  key5: {}
}

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

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

Мы создадим переменную с именем car и установим ее равной строковому значению:

let car = 'ford';

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

car = 1998;

Это работает — и JavaScript это не волнует. Поскольку JS имеет свободную типизацию, мы можем свободно изменять типы переменных по своему усмотрению.

Следующая статья будет о циклах JavaScript, следите за обновлениями.