CoffeeScript - zmienne

Zmienne to nic innego jak nazwane kontenery. Możesz umieścić dane w tych kontenerach, a następnie odwołać się do danych, używając nazwy ich kontenera.

Zmienne CoffeeScript

W JavaScript przed użyciem zmiennej musimy ją zadeklarować i zainicjalizować (przypisać wartość). W przeciwieństwie do JavaScript, podczas tworzenia zmiennej w CoffeeScript nie ma potrzeby deklarowania jej za pomocąvarsłowo kluczowe. Po prostu tworzymy zmienną, po prostu przypisując wartość do literału, jak pokazano poniżej.

name = variable name

Przykład

W poniższym kodzie CoffeeScript zdefiniowaliśmy dwie zmienne name i age, odpowiednio typów danych typu string i number. Zapisz go w pliku o nazwievariable_example.coffee.

name = "Javed"
age = 25

Compiling the code

Skompiluj powyższy kod CoffeeScript, wykonując następujące polecenie w wierszu polecenia.

c:\> compile -c variable_example.coffee

Podczas kompilacji plik JavaScript o nazwie variable_example.jszostanie wygenerowany z następującą zawartością. Tutaj możesz zauważyć, że kompilator zadeklarował zmienne (wiek i imię) za pomocąvar słowo kluczowe w naszym imieniu.

// Generated by CoffeeScript 1.10.0
(function() {
  var age, name;
  name = "Javed";
  age = 25;
  
}).call(this);

Zmienny zakres

Zakres zmiennej to region twojego programu, w którym jest zdefiniowana. Zmienne JavaScript i CoffeeScript mają tylko dwa zakresy.

  • Global Variables - Zmienna globalna ma zasięg globalny, co oznacza, że ​​może być używana w dowolnym miejscu w kodzie JavaScript.

  • Local Variables- Zmienna lokalna będzie widoczna tylko w ramach funkcji, w której została zdefiniowana. Parametry funkcji są zawsze lokalne dla tej funkcji.

Problem ze zmiennymi w JavaScript

W JavaScript, ilekroć definiujemy zmienną bez użycia varsłowo kluczowe, jest tworzony o zasięgu globalnym. Powoduje to wiele problemów. Rozważmy następujący przykład -

<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>

Podczas wykonywania powyższy kod JavaScript daje następujące wyniki -

The value of global variable i is 10

The value of local variable i is 20

The value of global variable i is 20

W powyższym przykładzie utworzyliśmy zmienną o nazwie iw przestrzeni globalnej i przypisano jej wartość 10. W ramach funkcji, próbując utworzyć zmienną lokalną o tej samej nazwie, zadeklarowaliśmy jako i = 20 ; bez słowa kluczowego var. Ponieważ przegapiliśmyvar słowo kluczowe, wartość zmiennej globalnej i jest przypisany do 20.

Z tego powodu zaleca się deklarowanie zmiennych przy użyciu rozszerzenia var słowo kluczowe.

Zakres zmiennych w CoffeeScript

Za każdym razem, gdy kompilujemy plik CoffeeScript, kompilator CoffeeScript tworzy anonimową funkcję iw ramach tej funkcji transkompiluje kod CoffeeScript do JavaScript wiersz po wierszu. (Jeśli chcemy, możemy usunąć opakowanie funkcji najwyższego poziomu za pomocą-b lub --bare opcji polecenia kompilacji) Każda tworzona przez nas zmienna jest deklarowana przy użyciu var słowo kluczowe w funkcji anonimowej i dlatego domyślnie każda zmienna jest lokalna w CoffeeScript.

(function() {
  var age, name;
  name = "javed";
  age = 20;
}).call(this);

W każdym razie, jeśli chcemy, możemy zadeklarować zmienną z globalną przestrzenią nazw. Możemy to zrobić wyraźnie, jak pokazano poniżej.

obj = this
obj.age = 30

Nazwy zmiennych CoffeeScript (literały)

Nadając zmienne nazwy w CoffeeScript, pamiętaj o następujących zasadach.

  • Nie należy używać żadnych zastrzeżonych słów kluczowych CoffeeScript jako nazwy zmiennej. Te słowa kluczowe są wymienione w następnej sekcji. Na przykład nazwy zmiennych typu break lub logiczne są nieprawidłowe.

  • Nazwy zmiennych CoffeeScript nie powinny zaczynać się od cyfry (0-9). Muszą zaczynać się od litery lub znaku podkreślenia. Na przykład 123test jest nieprawidłową nazwą zmiennej, ale _123test jest prawidłową.

  • W nazwach zmiennych CoffeeScript rozróżniana jest wielkość liter. Na przykład,Name i name to dwie różne zmienne.