Учебники

CoffeeScript — переменные

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

Переменные 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 чувствительны к регистру. Например, Имя и имя — это две разные переменные.