Переменные в JavaScript

Для создания имён переменных в JavaScript установлены правила синтаксиса:

  • Для имён переменных используются символы: a-z, A-Z, цифры, символ $, символ знак подчёркивания (_).
  • Имя переменной не может начинаться с цифры.
  • JavaScript чувствителен к регистру, об этом нужно помнить при программировании. itcounter и itCounter - это разные переменные.
  • В JavaScript нет ограничений на длину имени переменной.

Примеры правильных имён переменных:

  • itcounter
  • $_itcounter
  • it_counter

Ошибочные имена переменных:

  • 9room
  • it-counter
  • #itcounter
  • &itcounter

Переменные объявляются командой var.

В переменных можно хранить строки и числа. На самом деле можно хранить и другие типы данных, но о них поговорим позже.

Строковые переменные

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

var $stroka_1 = "Привет!";
var $stroka_2 = 'Осторожно!';

В строку, созданную одинарной кавычкой, можно включить двойную кавычку и наоборот.

var $stroka_1 = "'Привет!' - это приветствие.";
var $stroka_2 = '"Осторожно!" - это предупреждение.';
document.write($stroka_1);
document.write("<br>");
document.write($stroka_2);

Чтобы вывести кавычку того же типа, её нужно экранировать символом обратного слэша. Всё просто:

var $stroka_1 = "\"Привет!\" - это приветствие.";
var $stroka_2 = '\'Осторожно!\' - это предупреждение.';
document.write($stroka_1);
document.write("<br>");
document.write($stroka_2);

Значения переменных можно присваивать другим переменным:

var $stroka_1 = "\"Привет!\" - это приветствие.";
var $stroka_2 = '\'Осторожно!\' - это предупреждение.';
document.write($stroka_1);
document.write("<br>");
document.write($stroka_2);
$stroka_2 = $stroka_1;
document.write("<br>");
document.write($stroka_2);

В этом примере мы сначала в переменную $stroka_2 присвоили одно строковое значение, но потом присвоили ей значение переменной $stroka_1.

Объединение строк

Очень часто нужно объединить несколько строк в одну. Например, наш последний пример слишком громоздкий.

Объединение (конкатенация) строк в JavaScript осуществляется с помощью знака +.

Для вывода на экран 2 строковых переменных разделённых тегом <br> переменных можно использовать одну команду document.write().

var $stroka_1 = '"Привет!" - это приветствие.';
var $stroka_2 = '"Осторожно!" - это предупреждение.';
document.write($stroka_1 + "<br>" + $stroka_2);

Оператор конкатенации + также можно использовать в переменных:

var $stroka_1 = '"Привет!" - это приветствие.';
var $stroka_2 = '"Осторожно!" - это предупреждение.';
var $stroka_3 = $stroka_1 + "<br>" + $stroka_2;
document.write($stroka_3);

Числовые переменные

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

var $count_1 = 23;
var $count_2 = 10.34;
document.write($count_1 - $count_2);

Теперь другой пример:

var $count_1 = 23;	// Числовая переменная.
var $stroka_1 = "57";	// Строковая переменная.
document.write($stroka_1 + $count_1);

Видите, значение переменной $stroka_1 взято в кавычки, значит это текстовая переменная. Потом мы складываем текстовую и числовую переменную и получаем строку "5723", так работает JavaScript в таких случаях - превращает число в строку и добавляет к суммируемой строке.

Булевы переменные

Есть такой тип переменных — булевы. Всё просто, тут только два значения: истина и ложь, то есть true (истина) и false (ложь).

Этот тип данных используется в операциях сравнения. Вот простые примеры:

  • 9 > 1 — это истина.
  • 2 > 5 — это ложь.
var $count = 2 < 3;
document.write($count);

Теперь попробуем подставить булевы значения в арифметические действия. Суммируем две операции сравнения:

var $count = (3 > 2) + (4 > 2);
document.write($count);

Эта странная запись, я знаю. Но переменная $count будет равна 2. В математическом контексе значение true = 1, а значение false = 0.

Операции сравнения используются в часто применяемой инструкции if в JavaScript. Слово if по английски значит — если.

var $count = 100;
if ($count == 100) document.write("Переменная $count равна 100.");

В данном примере сообщение будет выведено на экран, так как условие инструкции if ($count == 100) равно истине (true). Если изменить значение переменной $count на 99, то условие ($count == 100) станет равно false (ложь) и на экран ничего не выведется.

Читайте подробнее: JavaScript: if и else.

Простые типы переменных

В JavaScript переменные классифицируются на несколько типов. Строковой, числовой и булевый (логический) типы мы уже рассмотрели. Вот более широкий список простых типов:

  • string — строковая переменная.
  • number — числовая переменная.
  • boolean - булева переменная.
  • null - специальное значение «ничто».
  • undefined - тип «значение не присвоено».

Значение переменной null образует свой отдельный тип null, состоящий из единствено возможного значения null. null - это специальное значение, которое имеет смысл «ничего» или «значение неизвестно».

var $price = null; // это значит что цена не известна.
    

В JavaScript можно узнать тип переменных при помощи инструкции typeof.

var $count;
document.write(typeof $count + "<br>");
var $count = true;
document.write(typeof $count + "<br>");
var $count = "true";
document.write(typeof $count + "<br>");
var $count = 100;
document.write(typeof $count + "<br>");
var $count = null;
document.write(typeof $count + "<br>");

Синтаксис инструкции typeof может быть таким:

  • typeof $count
  • typeof($count)

Итак, запустите код из последнего примера и посмотрите на результат. Тип переменной null будет object. Этот ошибка в языке, и она, вероятно, никогда не будет исправлена из-за необходимости сохранения совместимости уже написаных JavaScript сценариев с новыми версиями языка.

Тип object - это уже не примитивный тип, о нём мы будем говорить в других уроках.