Переменные — это не что иное, как именованные контейнеры. Вы можете поместить данные в эти контейнеры и затем обращаться к данным, используя имя их контейнера.
Переменные CoffeeScript
В JavaScript перед использованием переменной нам нужно объявить и инициализировать ее (назначить значение). В отличие от JavaScript, при создании переменной в CoffeeScript нет необходимости объявлять ее с помощью ключевого слова var . Мы просто создаем переменную, просто присваивая значение литералу, как показано ниже.
name = variable name
пример
В следующем коде CoffeeScript мы определили две переменные name и age , строковые и числовые типы данных соответственно. Сохраните его в файле с именем variable_example.coffee .
name = "Javed" age = 25
Компиляция кода
Скомпилируйте приведенный выше код CoffeeScript, выполнив следующую команду в командной строке.
c:\> compile -c variable_example.coffee
При компиляции будет создан файл JavaScript с именем variable_example.js со следующим содержимым. Здесь вы можете заметить, что компилятор объявил переменные (age и name), используя ключевое слово var от нашего имени.
// Generated by CoffeeScript 1.10.0 (function() { var age, name; name = "Javed"; age = 25; }).call(this);
Переменная сфера
Область действия переменной — это область вашей программы, в которой она определена. Переменные JavaScript и CoffeeScript имеют только две области видимости.
-
Глобальные переменные — глобальная переменная имеет глобальную область видимости, что означает, что она может использоваться в любом месте вашего кода JavaScript.
-
Локальные переменные — локальная переменная будет видна только внутри функции, в которой она определена. Параметры функции всегда локальны для этой функции.
Глобальные переменные — глобальная переменная имеет глобальную область видимости, что означает, что она может использоваться в любом месте вашего кода JavaScript.
Локальные переменные — локальная переменная будет видна только внутри функции, в которой она определена. Параметры функции всегда локальны для этой функции.
Проблема с переменными в JavaScript
В JavaScript всякий раз, когда мы определяем переменную без использования ключевого слова var , она создается с глобальной областью действия. Это вызывает много проблем. Рассмотрим следующий пример —
<script type = "text/javascript"> var i = 10; document.write("The value of global variable i is "+ i); document.write("<br>"); test(); function test() { i = 20; document.write("The value of local variable i is "+i); document.write("<br>"); } document.write("The value of global variable i is "+i); </script>
При выполнении вышеупомянутый JavaScript дает следующий вывод —
The value of global variable i is 10 The value of local variable i is 20 The value of global variable i is 20
В приведенном выше примере мы создали переменную с именем i в глобальном пространстве и присвоили ей значение 10. А внутри функции, при попытке создать локальную переменную с тем же именем, мы объявили как i = 20 ; без ключевого слова var. Поскольку мы пропустили ключевое слово var , значение глобальной переменной i переназначено на 20.
По этой причине рекомендуется объявлять переменные с помощью ключевого слова var .
Переменная Область в CoffeeScript
Всякий раз, когда мы компилируем файл CoffeeScript, компилятор CoffeeScript создает анонимную функцию, и внутри этой функции он транслирует код CoffeeScript в строку JavaScript построчно. (Если мы хотим, мы можем удалить оболочку функции верхнего уровня, используя опцию -b или —bare команды compile) Каждая создаваемая нами переменная объявляется с помощью ключевого слова var в анонимной функции и, таким образом, по умолчанию каждая переменная является локальным в CoffeeScript.
(function() { var age, name; name = "javed"; age = 20; }).call(this);
В любом случае, если мы хотим, мы можем объявить переменную с глобальным пространством имен. Мы можем сделать это явно, как показано ниже.
obj = this obj.age = 30
Имена переменных CoffeeScript (литералы)
При именовании ваших переменных в CoffeeScript имейте в виду следующие правила.
Вы не должны использовать ни одно из зарезервированных ключевых слов CoffeeScript в качестве имени переменной. Эти ключевые слова упоминаются в следующем разделе. Например, имена переменных или логических переменных недопустимы.
Имена переменных CoffeeScript не должны начинаться с цифры (0-9). Они должны начинаться с буквы или символа подчеркивания. Например, 123test является недопустимым именем переменной, а _123test является допустимым.
Имена переменных CoffeeScript чувствительны к регистру. Например, Имя и имя — это две разные переменные.