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





А сегодня я расскажу о базовых примитивных типах данных в JavaScript.
Начнём с понятия динамической типизации. Когда речь в JavaScript заходит о типах данных и о том, как с ними работать, вы можете заметить, что этот язык отличается от тех, с которыми вам приходилось, возможно, иметь дело. Динамическая типизация означает, что вы не сообщаете движку JavaScript, какой тип данных хранится в переменной. Он сам определяет это, когда код выполняется. Таким образом, ваши переменные в разный момент времени могут хранить значения разных типов.
Например, когда вы пишите на другом языке программирования, вы используете статическую типизацию:
int i;
Т.е. вы сразу говорите движку, компилятору, какого вида данные будут храниться внутри этой переменной.
Поэтому, если вы напишите в другом языке программирования (каком-нибудь C++, java и т.д.):
bool variable = "golos";
то получите ошибку, ведь значение переменной типа bool
может иметь только одно из двух значений: true
или false
.
В JavaScript же ваш код будет выглядеть так:
var variable = true;
variable = 'golos';
variable = 1;
и на каждой строке, где переменной variable
присваивается новое значение, тип этой переменной меняется.
В JavaScript существует 6 примитивных типов данных.
Примитивным типом называют типы данных, являющиеся базовыми встроенными единицами языка.
Примитивные типы данных

Мы уже немного говорили об этом типе данных, о специальном значении undefined
, которое говорит об отсутствии значения у существующей переменной. То есть то самое значение, которое присваивается переменной в момент ее объявления и остается с ней до присвоения значения.
var variable;
Видела уже у кого-то в уроках по типам данных в JS присвоение переменной значения undefined
вручную. Так вот, я советую вам так не делать, это может сыграть с вами злую шутку при отладке.

Это тоже тип данных, говорящий о том, что переменная не имеет значения. Лучше его присваивать в том случае, когда хотите сказать, что значения не существует, что ваша переменная равна "ничему".
var variable = null;

Это логический тип данных. Есть только два возможных значения: истина - true
и ложь - false
.
var variable = true;

В JavaScript есть только один числовой тип данных number, который используется и для дробных, и для целых чисел.
var variable = 6;
Есть еще специальные значения NaN
(ошибка вычислений) и Infinity
(бесконечность).

Еще один базовый примитивный тип данных. String - это строковый тип, например, слова или тексты. Чтобы присвоить переменной значение string, нужно заключить его в кавычки (двойные или одинарные).
var variable = "golos";

Новый тип данных (ECMAScript 2015). Symbol - уникальный и неизменяемый тип данных, который может быть использован как идентификатор для свойств объектов.


















Привет!
Этот пост был выбран Академией Голоса и попал в список программы поддержки качественных образовательных постов.
Ссылка на твой пост будет опубликована в отчете Академии.
Спасибо за полезный контент (ノ◕ヮ◕)ノ*:・゚✧
@qqc, Поздравляю!,
Ваш пост был упомянут в моем хит-параде в следующей категории: