Funções (resolve)
Funções (resolve)
resolve soma(a, b) {
volta a + b
}
cria r = soma(2, 3)
grita-ae(r) // 5volta (return)
resolve ehPar(n) {
volta n % 2 == 0
}
grita-ae(ehPar(4)) // verdadeiro
grita-ae(ehPar(7)) // falsoFunções tipadas
resolve soma(a: eh-numero, b: eh-numero): eh-numero {
volta a + b
}Funções genéricas
resolve identidade<T>(x: T): T {
volta x
}
grita-ae(identidade(42))
grita-ae(identidade("olá"))Arrow functions
cria dobrar = (x) => x * 2
cria somar = (a, b) => { volta a + b }
grita-ae(dobrar(21)) // 42Arrow async
cria buscar = assincrono (url) => {
volta stalkeia(url)
}Funções de primeira classe
Funções podem ser passadas como argumento:
resolve aplicar(fn, valor) {
volta fn(valor)
}
grita-ae(aplicar((x) => x * 10, 4)) // 40Closures
resolve criarContador() {
cria count = 0
volta () => {
count = count + 1
volta count
}
}
cria c = criarContador()
grita-ae(c()) // 1
grita-ae(c()) // 2
grita-ae(c()) // 3