JavaScript. Переменные. Примитивные типы данных. Комментарии. Константы

Переменные. Примитивные типы данных. Комментарии. Константы. Ключевые слова var, const. Оператор typeof


Содержание


Поиск на других ресурсах:

1. Переменные и типы данных. Общие понятия

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

Любая переменная в языке JavaScript определяется следующими характеристиками:

  • переменная имеет имя. По этому имени можно получить доступ к данным, хранящимся в переменной. К именам переменных предъявляются определенные требования (см. ниже);
  • переменная имеет определенный тип данных.

Тип данных переменной определяет:

  • способ представления (кодирования) данных в памяти. Переменные разных типов кодируются по разному;
  • размер памяти в байтах, который занимает переменная. Например, строковые и числовые типы занимают разное количество памяти в программе.

 

2. Объявление переменной. Ключевое слово var. Базовые (примитивные) типы данных

При объявлении переменной используется ключевое слово var. Объявление переменной может быть:

  • с начальной инициализацией. Термин «инициализация» означает, что переменной присваивается первоначальное значение с помощью операции присваивания;
  • без начальной инициализации. В этом случае переменной ничего не присваивается. Такая переменная по умолчанию получает тип undefined.

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

Если при объявлении переменной ее нужно инициализировать, используется следующая общая форма

var variableName = value;

здесь

  • variableName – имя объявляемой переменной;
  • value – значение, которое получает переменная при объявлении. На основе значения value будет определен тип этой переменной. Если value это строка, переменная получит тип string, если value это число, то переменная получит тип number и т.д.

После инициализации переменные могут получать значения следующих базовых (примитивных, простых) типов данных:

  • Number – тип данных, описывающий числа. Здесь нет строгого разделения на целые числа и числа с плавающей запятой как в других языках программирования;
  • String – тип данных, описывающий текстовые данные. В языке JavaScript нет отдельного типа данных на отдельный символ (типа char нет);
  • Boolean – логический тип данных. Переменные этого типа получают только два возможных значения: true (истина) или false (фальшь, не истина);
  • Null – тип, который может принимать только одно значение null;
  • Undefined – тип, устанавливаемый в случае, когда переменная объявлена ​​(var) но не инициализирована значением. Значение переменной будет присвоено позже;
  • Bigint – тип, предназначенный для представления больших целых чисел значения которых выходят далеко за значение типа Number;
  • Symbol – определяет уникальное неизменное примитивное значение (атом).

Существуют также объектные типы, описывающие объекты, функции, массивы, ошибки, регулярные выражения, дату и прочие программные элементы. Эти типы не являются предметом рассмотрения данной темы.

Если переменная объявляется без начальной инициализации, то общая форма объявления следующая:

var variableName;

здесь

  • variableName – имя объявляемой переменной. Для этой переменной устанавливается тип undefined, что означает неопределенный тип данных.

Допускается непосредственное задание значения undefined для переменной

var variableName = undefined;

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

var varName1, varName2, varName3;

 

3. Требования к именам переменных

В JavaSctipt к именам переменных или других идентификаторов программы предъявляются следующие требования:

  • имя переменной (идентификатора) может содержать символы латинских букв верхнего (‘A’‘Z’) и нижнего (‘a’‘z’) регистров, цифр ‘0’‘9’ и символа подчеркивания ‘_’;
  • имя переменной не может начинаться с цифры;
  • имя переменной может содержать символ ‘$’.

Язык JavaScript чувствителен к регистру. Это означает, что имена

abc
Abc
aBC
ABC

это разные имена.

 

4. Примеры объявления переменных разных типов

Правильные объявления переменных

// Объявление переменных разных типов
var x = 2.88;   // тип Number
var MAX_VALUE = 1000; // тип Number
var b = false; // тип Boolean
var z;         // z = Undefined (тип Undefined)
var Arr = null; // тип Object

// Объявление нескольких переменных типа String в одной строке
var Text = "Hello, world!", Url = "www.bestprog.net"; 

// Объявление нескольких переменных типа Number в одной строке
var $Pi = 3.1415, G = 9.806, $E = 2.718; 

// Объявление переменных типа Bigint
var Nm = 9007199254740992n;
var Nm2 = 20n;

// Тип Symbol
var sm = Symbol("abc")  

Неправильные объявления переменных

// Неправильные объявления переменных
var 1f = 25; // имя начинается с цифры
var f 3 = 28; // символ пробел между f и 3

 

5. Использование переменных в программе. Что означает термин «не строго типизированный язык»? Пример

Язык JavaScript не строго типизирован в отличие от таких языков как C++, Java, C# и других. Это означает, что объявленная в программе переменная может получать (сохранять) данные разных типов. В языках C++, Java, C# и других при объявлении переменная имеет строго определенный тип (только один) и сохраняет его до завершения области действия этой переменной.

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

Пример.

'use strict'

// 1. Объявление переменной a
var a; // Тип переменной undefined

// 2. Переменной a присваивается число (целое)
a = 110; // Тип переменной number

// 3. Переменной a присваивается вещественное число
a = 2.55; // Тип number

// 4. Переменной a присваивается строка
a = "abcd"; // Тип string

// 5. Переменной a присваивается значение null,
a = null; // Тип object

// 6. Переменной a присваивается логический тип boolean
a = true;

 

6. Оператор typeof(). Получить тип переменной

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

typeof(value)

здесь

  • value – некоторая переменная, литерал или выражение.

Пример. В примере определяются типы переменных, литералов и выражений с помощью оператора typeof.

// Оператор typeof
var a = 20;
var tp_a = typeof(a); // tp_a имеет тип number

var str = 'Hello';
var tp_str = typeof(str); // тип string

var tp_expr = typeof(5 + true + 2.8) // тип number
alert(tp_expr)

tp_expr = typeof('A' + 8) // тип string
alert(tp_expr)

 

7. Комментарии в JavaScript

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

В языке JavaScript есть 2 вида комментариев:

  • однострочный – размещается за парой символов //;
  • многострочный – размещается между парами символов /* и */.

Пример.

// Это однострочный комментарий
// var a = 20; - это также комментарий

var a = 20; // объявление переменной a - это есть комментарий

/* Это есть
многострочный
комментарий
*/

 

8. Зарезервированные слова JavaScript

Не все имена можно задавать в качестве переменных, функций, методов, меток циклов или объектов. Эти имена используются в JavaScript и есть зарезервированы. Ниже приведен список этих имен в алфавитном порядке

abstract   else         instanceof  switch
boolean    enum         int         synchronized
break      export       interface   this
byte       extends      long        throw
case       false        native      throws
catch      final        new         transient
char       finally      null        true
class      float        package     try
const      for          private     typeof
continue   function     protected   var
debugger   goto         public      void
default    if           return      volatile
delete     implements   short       while
do         import       static      with
double     in           super

Если попытаться использовать в программе одно из вышеприведенных имен, это будет воспринято как ошибка.

 

9. Объявление констант. Ключевое слово const

В языке JavaScript можно объявлять константы. Для этого употребляется ключевое слово const. Общая форма объявления константы следующая

const constName = value;

здесь

  • constName – имя константы;
  • value – значение, получаемое константой.

После объявления константы constName попытка изменить значение константы

constName = anyValue;

будет считаться ошибкой. Изменять какую-либо константу до окончания сценария запрещено.

Имена формирования констант такие же, как и для переменных (см. пункт 5).

Пример.

// Константы. Объявление и использование констант
const Pi = 3.1415;             // тип константы Number
const Yes = true, No = false;  // Boolean
const Numbers = "0123456789";  // String
const N_Months = 12;           // Number
const MaxYearsOfUniverse = 123456789012345678901234567890n // тип Bigint

 


Связанные темы