Как сделать переменную словом

Обновлено: 04.07.2024

это две разные переменные.

И, хотя переменной можно давать любое имя, всё же имена должны отражать суть того для чего эта переменная предназначена. Например, вот такой код можно считать плохо оформленным:

Для присвоения значения переменной мы используем следующую конструкцию:

Каким вариантом работы с переменными воспользоваться — решать только вам.

Неявно типизированные локальные переменные

так как изначально мы определили, что переменная name имеет тип string .

Ближайшим аналогом неявно типизированных переменных в Delphi может выступать переменные типа Variant, хотя это и не совсем одно и то же.

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

Пустые переменные

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

Эти переменные делают код яснее, повышают его читаемость и упрощают его поддержку.

Использование пустых переменных — это отдельная тема о которой мы ещё успеем поговорить. Пока же приведу небольшой код в котором используется пустая переменная:

Итого

Мы переключили тему на странице, но строки с кодом получились длинными и трудночитаемыми. А ещё пришлось дважды искать с помощью querySelector один и тот же элемент. Мы его уже один раз нашли, зачем искать снова?

Выход есть! И имя ему — переменная.

Переменная — это способ сохранить данные, дав им понятное название.

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

Имя переменной может быть почти любым, но не должно начинаться с цифры, а из спецсимволов разрешены только '_' и '$'. Кроме того, в JavaScript есть зарезервированные слова, которые нельзя использовать для именования переменных. Имена переменных чувствительны к регистру: header , Header и HEADER — это разные переменные. Но самое главное — чтобы переменная действительно делала код понятнее, её имя должно описывать то, что в ней хранится.

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

Когда в коде встречается переменная, браузер вместо её имени подставляет присвоенное ей значение. Благодаря этому мы можем написать, например, так:

Обратите внимание, что let мы пишем только при объявлении переменной. После этого мы используем переменную, просто указывая её имя.

Давайте создадим в нашей программе переменную и запишем в неё элемент с классом page . С помощью этой переменной мы сделаем наши инструкции короче и понятней. И заодно убедимся, что ничего не сломалось.

Ключевое слово let появилось в JavaScript в 2015 году, до этого для объявления переменных использовалось слово var . Оно работает почти так же, как let , но есть некоторые отличия. О них мы расскажем в следующих частях.

И теперь пришло время познакомиться с типами данных, а также способами их представления, одним из которых являются переменные. Также есть ещё константы, но с ними мы будем знакомиться немного позже.

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

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

Прежде чем приступить к переменным, мы познакомимся с типами данных, являющимися самой главной основой переменных, так как переменная всегда несёт в себе и представляет какой-то определённый тип.

Данные различного типа — это величины, которые располагаются в каком-то месте памяти и могут занимать в ней различное количество пространства.

Типы данных можно разделить условно на три группы:

  1. целые — данные целого типа,
  2. вещественные — данные, которые могут иметь дробную часть,
  3. символы — данные типа char, которые представляют собой какой-то символ и занимают в памяти всего один байт.

Рассмотрим первый тип. Данные целого типа могут быть различной величины, следовательно будут иметь разный возможный диапазон значений, а также занимать различное количество байт в памяти. Также данные этого типа могут быть знаковыми (возможно отрицательное значение) или беззнаковыми (не меньше нуля).

Рассмотрим, какие бывают данные целого типа (в принципе char тоже можно считать целым типом малой величины, так как зачастую его используют в этом качестве, когда хотят оперировать малыми значениями, чтобы сэкономить память, так как они занимают в ней всего один байт).

Данная таблица, думаю, всё это расскажет:

-9 223 372 036 854 775 808 …

9 223 372 036 854 775 807

Аналогичным образом ведёт себя и вещественный тип. Только представители данного типа могут иметь ещё некоторые свойства. Кроме того, что они тоже занимают в памяти каждый определенное количество байт и имеют диапазоны, они могут быть представлены ещё в нормированной форме — в виде числа, умноженного на 10 в определённой степени. Также данный вид представления называют экспоненциальной записью числа.

Например, число 135.543 можно представить как 1,35543 . 10 2 .

А, например, число 0.00001245 — как 1.245 . 10 -5 .

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

В коде мы так написать не можем, в исходном коде первое число будет выглядеть как 1.35543E2, а второе 1.245E-5.

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

Также посмотрим таблицу диапазонов и размера занимаемой памяти определённых вещественных типов

-9 223 372 036 854 775 808 .0 …

9 223 372 036 854 775 807.0

-9 223 372 036 854 775 808 .0 …

9 223 372 036 854 775 807.0

В некоторой документации пишут, что последний тип занимает 80 бит в памяти. Пока не знаю, где правда, возможно это зависит от операционных систем, либо от каких-то стандартов, либо от компилятора. С этим, думаю, разберёмся позже, когда будем писать исходные коды, отлаживать их и смотреть результаты в дизассемблированном виде.

Про символьный тип говорить особо нечего, так как он в группе только один. Занимает он один байт в памяти.

Ещё существует тип данных bool. Это целочисленный тип данных, так как диапазон допустимых значений — целые числа от 0 до 255. Данный тип используется как логический тип данных исключительно для хранения результатов логических выражений. У логического выражения может быть один из двух результатов — true или false. true — если логическое выражение истинно, false — если логическое выражение ложно. Данный тип может отсутствовать в некоторых компиляторах вообще, тогда мы используем вместо него char либо unsigned char.

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

Теперь о переменных.

Переменные существуют для хранения значений и величин определённых типов данных в памяти.

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

Самое основное требование для объявления переменной: переменная должна быть объявлена раньше, чем она будет использоваться.

Самый простой способ объявления переменной в коде следующий:

char symbol1;

Сначала мы указываем тип данных, который будет в себе нести наша переменная, а далее мы указываем имя нашей переменной.

Имя переменной должно быть уникальным, то есть недопустимо объявлять две переменных с одним и тем же именем.

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

Тем не менее существует и стандарт для имени переменной. Не всякие символы можно использовать в имени переменной. можно использовать буквы только латинского алфавита, как верхнего так и нижнего регистра, причём язык C является языком регистрозависимым и, например, переменные с именами Symbol1 и symbol1 — это будут разные переменные.

Также разрешается использовать арабские цифры в именах переменных (от 0 до 9), только с одним ограничением — имя переменной не должно начинаться с цифры, например имя переменной 4symbol использовать запрещено, а s4ymbol — разрешено.

В именах переменных запрещено использовать пробелы, поэтому, например, имя переменной first var запрещено. Но чтобы нам как-то можно было больше рассказать о назначении переменных и всё же использовать там несколько слов, то вместо пробелов разрешено использовать подчёркивания — '_'. Поэтому мы сможем нашу переменную назвать как first_var. Также со знака подчёркивания допустимо начинать имя переменной, но злоупотреблять этим нежелательно, так как во многих библиотеках, в т.ч. стандартных, переменные, имя которых начинается со знака подчёркивания, очень часто используется. Тем самым мы избежим повторения имён, которое недопустимо.

Запрещено также в качестве имён использовать ключевые слова — такие, к примеру, как if , else , int , float . Данные слова зарезервированы и не могут быть использованы.

Также не допускается использование в именах операторов (+, -, = и т.д.), кавычек, скобок и т.д.

Тем не менее, не смотря на все ограничения, переменные — это очень удобный и необходимый механизм для хранения и модификации различных значений и величин.

Несколько переменных мы можем объявить как в разных строках

char symbol1;

int cnt;

float adc_val;

char symbol1; int cnt; float adc_val;

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

char symbol1, symbol2, symbol3;

В случае всех вышеперечисленных операций под переменные, которые мы объявили резервируется место в памяти в таком размере, какой предусматривает тип переменной, которую мы объявляем. В этом случае содержимое резервируемых ячеек памяти как правило не изменяется и значение переменной приобретёт случайную величину. Некоторые компиляторы автоматически присваивают значение 0 объявляемым переменным.

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

Так как с различными операциями мы будем знакомиться не в данном уроке, то познакомимся пока с первым типом придания определённого значения переменной — это её инициализация.

Инициализируются переменные различными способами.

Мы можем сначала наши переменные объявить, а затем инициализировать

char symbol1, symbol2, symbol3;

int cnt;

float adc_val;

symbol1 = 'c' ;

symbol2 = 'f' ;

symbol3= 'h' ;

cnt = 589 ;

adc_val = 124.54 f;

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

Также мы можем проделать инициализацию наших переменных сразу — на этапе объявления

char symbol1 = 'c' , symbol2 = 'f' , symbol3= 'h' ;

int cnt = 589 ;

float adc_val = 124.54 f;

Оператор '=' (равно) — это оператор присвоения. Используется для присвоения переменной, имя которой находится слева от оператора, значения либо результата выражения, находящегося справа от оператора.

Существует ещё несколько операторов, с которыми мы будем знакомиться в следующих уроках.

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

Переменная – это именованный участок памяти для хранения данных.

Представить себе переменную можно как некоторую область памяти, в которую вы можете как записать некоторую информацию, так и прочитать её из неё. Доступ к этому месту в памяти выполняется по имени, которое вы установили переменной при её создании.

Данные, хранящиеся в переменной, называются её значением .

В процессе выполнения программы значения переменной могут меняться. Но в определённый момент времени переменная всегда имеет какое-то одно значение.

В JavaScript до ES6 (ECMAScript 2015) объявление (создание) переменных осуществлялось с использованием только ключевого слова var .

При создании переменной ей сразу же можно присвоить некоторое значение . Эту операцию называют инициализацией переменной .

Присвоение переменной значения выполняется через оператор = .

Для того чтобы получить значение переменной к ней нужно просто обратиться по имени.

Переменная, которая объявлена без инициализации имеет по умолчанию значение undefined .

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

Объявление переменных с помощью let и const

Сейчас ключевое слово var практически не используется, вместо него новый стандарт (ES6) рекомендует использовать let и const .

В чем отличия var от let ?

1. Переменная объявленная посредством let имеет область видимости, ограниченную блоком. Т.е. она видна только внутри фигурных скобок, в которых она создана, а также в любых других скобках, вложенных в эти. Вне них она не существует.

Переменная, объявленная через ключевое слово var имеет функциональную область видимости. Т.е. она ограничена только пределами функции.

Такая переменная будет видна за пределами блока, в котором она создана.

2. Переменные, созданные с помощью let не поднимаются к началу текущего контекста, т.е. hoisting для них не выполняется. Другими словами, к такой переменной нельзя обратиться до её объявления.

Переменные, созданные с помощью var поднимаются к началу текущего контекста. Это означает что к таким переменным вы можете обратиться до их объявления.

Константы (const)

Мы разобрали отличия let от var . А что же насчёт const ? Переменные, созданные с помощью const ведут себя также как с let . Единственное отличие между ними заключается в том, что непосредственное значение переменной созданной через const вы не можете изменить. Таким образом, const – это ключевое слово, предназначенное для создания своего рода констант .

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

При попытке изменить значение константы вам будет брошена ошибка.

Когда переменной вы присваиваете значение, имеющее объектный тип данных, в ней уже будет храниться не сам этот объект, а ссылка на него. Это необходимо учитвать при работе с переменными в JavaScipt.

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

Слабая типизация. Именование переменых

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

Значение переменной можно изменять неограниченное количество раз.

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

Имя переменной можно составлять из букв, цифр и символов $ и _ . При этом первый символ переменной не должен быть цифрой. Кроме этого в качестве имени переменной нельзя использовать зарезервированные слова.

Регистр букв в имени переменной имеет значение. Т.е., например, переменная phone и Phone - это две разные переменные.

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

Но создавать, таким образом, переменные не рекомендуется.

Типы данных

В JavaScript типы данных можно разделить на примитивные и объектные.

Переменные, содержащие примитивные типы данных хранят значение явно.

В JavaScript выделяют 5 примитивных типов данных:

  • число (number);
  • строка (string);
  • булевый тип (boolean);
  • null;
  • undefined.

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

Переменные, содержащие объект, на самом деле хранят не сам объект, а ссылку на него.

Если одной переменной присвоить значение другой, которая содержит объект (ссылку на него), то она тоже получит ссылку на него. В результате этой операции две эти переменные будут содержать ссылку на один и тот же объект.

Число (number)

Числовой тип в JavaScript данных является универсальным . Он используется для представления, как целых , так и дробных чисел.

Формат представления чисел в JavaScript осуществляется в соответствии со стандартом IEEE 754-2008.

Целые числа в JavaScript можно задавать не только в десятичной системе счисления, но и в восьмеричной (0) или шестнадцатеричной системе счисления (0x) с использованием префиксов, указанных в круглых скобках:

Записывать числа возможно в экспоненциальной форме :

Числовой тип данных кроме чисел содержит ещё специальные числовые значения :

  • Infinity (положительная бесконечность);
  • -Infinity (отрицательная бесконечность);
  • NaN (Not a Number – не число).

Специальное значения Infinity означает очень большое положительное число, т.е. число, которое не может быть представлено в JavaScript по причине того, что оно слишком велико.

Специальные значения -Infinity означает наоборот очень большое отрицательное число, т.е. число, которое не может быть представлено JavaScript по причине того, что оно тоже слишком велико.

Пример выражений в результате вычисления которых будет возвращены специальные числовые значения :

Значение NaN возвращается в результате выполнения математических операций, которые JavaScript не может вычислить.

При этом очень интересным является то, что значение NaN в JavaScript не равно ничему включая себя.

Логический тип данных (Boolean)

Boolean – примитивный тип данных, который имеет всего два значения: true (истина) и false (ложь).

Строка (String)

Строка (String) – это тип данных, который используется в JavaScript для представления текста.

Строка JavaScript может состоять из 0 или большего количества символов.

В качестве формата строки в JavaScript всегда использутся кодировка Unicode.

Создание строки (литерала строки) выполняется посредством заключения текста в одинарные или двойные кавычки .

В JavaScript нет разницы между одинарными и двойными кавычками.

Но, в некоторых случаях есть смысл использовать именно одинарные кавычки, а не двойные и наоборот.

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

Строка в JavaScript может содержать специальные символы. Например, \n (перевод строки), \t (табуляция), \r (возврат каретки) и др.

Со строками можно произовдить операцию сложения (объединения) или другими словами конкатенацию. Для этого используется оператор + . Сымысл данной операции заключается в присоединении второй строки к концу первой.

Значение "undefined"

undefined - специальный примитивный тип данных, который имеет одно значение, равное undefined .

Этот тип данных имеет объявленная переменная, которой ещё не присвоено значение.

Значение undefined также будет возвращено при обращении к несуществующему свойству объекта.

Значение "null"

null - специальный примитивный тип данных, который имеет одно значение, равное null .

Объект (Object)

Объект – это структура данных, состоящая из пар имя-значение.

Создание объекта с помощью нотации литерала объекта осуществляется следующим образом:

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

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

Другими словами, объект - это структура данных, состоящая из свойств и методов.

Обращение к свойствам объекта выполняется через точку или посредством скобочной записи.

Оператор typeof

Оператор typeof используется для получения информации о типе данных выражения в виде строки.

Читайте также: