Cursos / Jogos Digitais / Programação Orientada a Objetos / Aula

arrow_back Aula 13 - Módulos e Namespaces

Prática: Namespace

Exemplo 01

No exemplo abaixo, os arquivos estão dentro da mesma pasta, então as variáveis estão dentro do mesmo escopo, porém a presença do namespace Exemplo evita o erro de variável com mesmo nome, pois o namespace garante seu próprio escopo.

Arquivo exemplo.ts


namespace Exemplo{
    let mensagem: string = "Tudo bem?"
}

Arquivo app.ts

let mensagem = "Oi!"

Exemplo 02

Nesse exemplo, o namespace Texto tem duas funções que são visíveis fora do namespace, pois utiliza export.


namespace Texto{

    export function imprimir(texto: string){
        console.log(texto);
    }

    export function contarTexto(texto: string): number{
        return texto.length;
    }
}

Texto.imprimir("Emerson");
console.log(Texto.contarTexto("Emerson"));

Exemplo 03

Arquivo StringUtils.ts


namespace StringUtils{

    let tamanhoMaximo = 10;

    export function maiuscula(texto: string){
        return texto.toUpperCase();
    }

    export function minuscula(texto: string){
        return texto.toLowerCase()
    }

    export function validaTexto(texto: string): boolean{
        return texto.length <= tamanhoMaximo
    }

}

Arquivo app.ts


/// reference path = "StringUtils.ts" />

console.log(StringUtils.maiuscula("ufrn"));
console.log(StringUtils.minuscula("EMERSON"));
console.log(StringUtils.validaTexto("typescript e POO"));

Versão 5.3 - Todos os Direitos reservados