arrow_back Voltar ao curso

Funções Embutidas

Fundamentos do XanaScript • Aula 18 de 20

As funções builtin vêm prontas, sem import. São as ferramentas que você usa todos os dias.

Saída

grita-ae imprime no stdout (saída normal); sussurra imprime no stderr (para avisos e erros):

js
grita-ae("mensagem normal")
sussurra("aviso importante")

Por que separar stdout e stderr?

Programas profissionais redirecionam as saídas: o stdout vai pro log normal, o stderr pra monitorar erros. Separar permite filtrar "o que deu certo" de "o que deu errado" sem misturar.

Utilitários

Função Descrição
horinha() timestamp atual (ms)
traduz-ai(x) converte pra texto
tamanho(x) tamanho de string/array
desembola(json) JSON.parse (texto → objeto)
embrulha(valor, espaco?) JSON.stringify (objeto → texto)
hash(texto) SHA-256 em hex
url(s) encodeURIComponent
decodifica-url(s) URL decode
data-agora() data ISO atual
data-de-ms(ms) ms → data ISO
js
cria obj = { nome: "Ana" }
cria texto = embrulha(obj)
cria deVolta = desembola(texto)
grita-ae(deVolta.nome)  // Ana

Rede e ambiente

Função Descrição
stalkeia(url) HTTP GET → JSON (timeout 3s)
bisbilhota(chave) variável de ambiente
js
cria token = bisbilhota("API_TOKEN")

Por que ler variáveis de ambiente?

Senhas e chaves de API nunca devem ficar no código (vazam no repositório). Variáveis de ambiente ficam fora do código e o bisbilhota traz elas pro programa quando ele roda.

Strings

Função Descrição
divide-texto(texto, sep) split (texto → array)
juntar(arr, sep) join (array → texto)
encontra(s, sub) regex match (array ou nulo)
js
cria partes = divide-texto("a,b,c", ",")
grita-ae(partes)          // ["a","b","c"]
grita-ae(juntar(partes, "-"))  // "a-b-c"

Tempo e aleatório

Função Descrição
aguenta-ai(ms) sleep (espera)
escolhe(min, max) inteiro aleatório
js
cria num = escolhe(1, 6)
grita-ae("Dado: " + num)

A lógica por trás: por que tantas funções?

Cada builtin resolve um problema universal: transformar dados (desembola/embrulha), comunicar (grita-ae/stalkeia), medir tempo (horinha/data-agora). Quando um problema aparece em TODO programa, ele vira builtin — e você não precisa nem saber como implementa, só o que faz.

Comentários