Tipos de Dados
Tipos primitivos
| Tipo |
Valor em XanaScript |
Descrição |
eh-numero |
10, 3.14, -5 |
números (inteiros e decimais) |
eh-palavra |
"texto", 'texto' |
strings |
vdd? |
verdadeiro, falso |
booleanos |
eh-nada |
nulo |
ausência de valor |
sla |
qualquer coisa |
tipo dinâmico |
sepah<T> |
nulo ou T |
opcional |
js
cria n: eh-numero = 42
cria s: eh-palavra = "olá"
cria b: vdd? = verdadeiro
cria x: sla = "qualquer coisa"
Coleções
| Tipo |
Valor |
Descrição |
sus<T> |
[1, 2, 3] |
array (lista) |
bagulho |
{ a: 1 } |
objeto |
crush<A, B> |
[1, "um"] |
par (tupla) |
js
cria nums: sus<eh-numero> = [1, 2, 3]
cria obj: bagulho = { nome: "Ana", idade: 25 }
cria par: crush<eh-numero, eh-palavra> = [1, "um"]
Declarando tipos próprios com tipo
js
tipo Usuario {
nome: eh-palavra,
idade: eh-numero
}
cria u: Usuario = { nome: "Ana", idade: 25 }
Checagem em runtime
| Função |
Retorna |
tipo-de(x) |
tipo do valor |
instancia-de(x, Classe) |
se é instância |
Conversão
js
cria texto = traduz-ai(42)
cria numero = 42
grita-ae(traduz-ai(numero))