cria / lei / fofoca — Declarando Variáveis
Fundamentos do XanaScript • Aula 3 de 20
Variáveis guardam valores na memória pra você usar depois. O XanaScript tem três jeitos de declarar, cada um com um propósito diferente:
| Keyword | Papel | Equivale a |
|---|---|---|
cria |
variável mutável (pode mudar) | let / var |
lei |
constante (não pode mudar) | const |
fofoca |
variável global (visível em todo o programa) | global |
cria (mutável)
cria contador = 0
contador = contador + 1
contador += 5
contador++
grita-ae(contador) // 7Use cria quando o valor vai mudar durante o programa — contadores, acumuladores, entradas do usuário.
lei (constante)
lei não pode ser reatribuída. Tentar mudar gera erro de compilação:
lei MAX = 100
grita-ae(MAX)
// MAX = 200 // ERRO: lei não pode ser reatribuídaPor que usar lei se cria funciona?
Porque constantes protegem você de você mesmo. Quando um valor nunca muda (uma taxa de imposto, uma URL de API, uma configuração), declará-lo com lei faz o compilador reclamar se alguém tentar alterá-lo. É uma garantia grátis contra bugs de "valor mudou sem querer". O compilador também consegue otimizar melhor constantes.
fofoca (global)
Declarada fora de blocos, fica visível em todo o programa — inclusive dentro de funções:
fofoca config = { debug: verdadeiro }
resolve mostraConfig() {
grita-ae(config.debug) // acessa a global de dentro da função
}Use globais com moderação: tudo que é global pode ser alterado de qualquer lugar, o que dificulta descobrir quem mudou. Prefira passar valores por parâmetro.
Escopo
Cada bloco {} cria seu próprio escopo. Variáveis declaradas dentro não vazam pra fora:
se-pah (verdadeiro) {
cria interna = 42
}
// grita-ae(interna) // ERRO: interna não existe aquiNomeação
Siga camelCase (nomeCompleto, totalDaVenda), comece com letra ou _, e nunca use uma keyword da linguagem como nome.