CoffeeScript - Variáveis

Variáveis ​​nada mais são do que recipientes nomeados. Você pode colocar dados nesses contêineres e, em seguida, referir-se aos dados usando o nome de seu contêiner.

Variáveis ​​CoffeeScript

Em JavaScript, antes de usar uma variável, precisamos declará-la e inicializá-la (atribuir valor). Ao contrário do JavaScript, ao criar uma variável no CoffeeScript, não há necessidade de declará-la usando ovarpalavra-chave. Simplesmente criamos uma variável apenas atribuindo um valor a um literal, conforme mostrado abaixo.

name = variable name

Exemplo

No seguinte código CoffeeScript, definimos duas variáveis name e age, de tipos de dados string e número, respectivamente. Salve-o em um arquivo com o nomevariable_example.coffee.

name = "Javed"
age = 25

Compiling the code

Compile o código CoffeeScript acima executando o seguinte comando no prompt de comando.

c:\> compile -c variable_example.coffee

Na compilação, um arquivo JavaScript chamado variable_example.jsserá gerado com o seguinte conteúdo. Aqui você pode observar que o compilador declarou as variáveis ​​(idade e nome) usando ovar palavra-chave em nosso nome.

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

Escopo Variável

O escopo de uma variável é a região de seu programa na qual ela é definida. As variáveis ​​JavaScript e CoffeeScript têm apenas dois escopos.

  • Global Variables - Uma variável global tem escopo global, o que significa que pode ser usada em qualquer lugar em seu código JavaScript.

  • Local Variables- Uma variável local será visível apenas dentro de uma função onde está definida. Os parâmetros da função são sempre locais para essa função.

O problema com variáveis ​​em JavaScript

Em JavaScript, sempre que definimos uma variável sem usar o varpalavra-chave, é criado com escopo global. Isso causa muitos problemas. Considere o seguinte exemplo -

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

Na execução, o JavaScript acima fornece a seguinte saída -

The value of global variable i is 10

The value of local variable i is 20

The value of global variable i is 20

No exemplo acima, criamos uma variável chamada ino espaço global e atribuiu o valor 10 a ele. E dentro da função, na tentativa de criar uma variável local com o mesmo nome, declaramos como i = 20 ; sem a palavra-chave var. Desde que perdemos ovar palavra-chave, o valor da variável global i é reatribuído a 20.

Por este motivo, é recomendado declarar variáveis ​​usando o var palavra-chave.

Escopo variável em CoffeeScript

Sempre que compilamos um arquivo CoffeeScript, o compilador CoffeeScript cria uma função anônima e, dentro dessa função, ele transcompila o código CoffeeScript em JavaScript linha por linha. (Se quisermos, podemos remover o wrapper de função de nível superior usando o-b ou --bare opção do comando de compilação) Cada variável que criamos é declarada usando o var palavra-chave dentro da função anônima e, portanto, por padrão, cada variável é local no CoffeeScript.

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

De qualquer forma, se quisermos, podemos declarar uma variável com namespace global. Podemos fazer isso explicitamente, conforme mostrado abaixo.

obj = this
obj.age = 30

Nomes de variáveis ​​CoffeeScript (literais)

Ao nomear suas variáveis ​​no CoffeeScript, mantenha as seguintes regras em mente.

  • Você não deve usar nenhuma das palavras-chave reservadas do CoffeeScript como um nome de variável. Essas palavras-chave são mencionadas na próxima seção. Por exemplo, os nomes das variáveis ​​break ou Boolean não são válidos.

  • Os nomes das variáveis ​​CoffeeScript não devem começar com um numeral (0-9). Eles devem começar com uma letra ou um caractere de sublinhado. Por exemplo, 123test é um nome de variável inválido, mas _123test é válido.

  • Os nomes das variáveis ​​CoffeeScript diferenciam maiúsculas de minúsculas. Por exemplo,Name e name são duas variáveis ​​diferentes.