Estructura Básica de TypeScript
La estructura básica de un programa TypeScript se puede dividir en varias partes, cada una con una función específica.
A continuación se muestran los componentes comunes de un programa TypeScript:
- Sección de declaraciones: incluye declaraciones de tipos, declaraciones de interfaces, etc.
- Declaración de variables: incluye
let,constyvarel uso de. - Declaración de funciones: incluye funciones normales y funciones de flecha.
- Declaración de clases: se utiliza para definir clases y sus miembros.
- Interfaces y alias de tipo: describen la estructura de los tipos.
- Modularidad: mediante
importyexportorganizar el código. - Aserción de tipos: conversión forzada de tipos.
- Genéricos: hacen que el código tenga más reutilización.
- Comentarios: aumentan la legibilidad del código.
- Inferencia de tipos: infiere tipos automáticamente.
- Guardas de tipo: reducen el rango de tipos.
- Programación asíncrona: admite
async/await。 - Manejo de errores: mediante
try/catchse realiza la captura de errores.
Las partes anteriores en conjunto conforman la estructura básica de un programa TypeScript, y brindan a los desarrolladores una potente verificación de tipos, estructura del código y mantenibilidad.
1. Sección de Declaraciones (Declarations)
Declaración de tipos:TypeScript es un lenguaje de tipado estático. Se puede definir el tipo de variables, funciones, clases, etc., mediante declaraciones de tipo. Las declaraciones de tipo ayudan a que el código sea más mantenible y legible.
Ejemplo
let age: number = 30;
Declaración de interfaces:Se utiliza para definir la estructura de un objeto, incluyendo sus propiedades y métodos.
Ejemplo
name: string;
age: number;
}
2. Declaración de Variables (Variable Declarations)
En TypeScript, se pueden usar let, const y var para declarar variables. Se recomienda usar let y const; ya no se recomienda el uso de var.
Ejemplo
const pi: number = 3.14;
3. Declaración de Funciones (Function Declarations)
Declaración de funciones: TypeScript permite declarar funciones con anotaciones de tipo, incluyendo los tipos de los parámetros y el tipo de retorno.
Ejemplo
return "Hello, " + name;
}
Funciones de flecha:TypeScript también admite las funciones de flecha de ES6, que utilizan una sintaxis concisa para declarar funciones.
Ejemplo
4. Declaración de Clases (Class Declarations)
TypeScript ofrece soporte para la programación orientada a objetos, permitiendo definir clases y sus métodos y propiedades.
Ejemplo
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet() {
return `Hello, my name is ${this.name}`;
}
}
5. Interfaces y Alias de Tipo (Interfaces & Type Aliases)
Interfaz (Interface): se utiliza para describir la forma de un objeto. Las interfaces pueden heredar y extenderse.
Ejemplo
name: string;
sound: string;
makeSound(): void;
}
Alias de tipo (Type Alias):Permite definir alias para tipos de objeto, tipos unión, tipos de intersección, etc.
Ejemplo
6. Módulos e Importación/Exportación (Modules & Imports/Exports)
TypeScript admite la programación modular. Se pueden usar import y export para organizar el código.
Exportación:
Ejemplo
constructor(public name: string) {}
}
Importación:
Ejemplo
7. Aserciones de Tipo (Type Assertions)
En ciertos casos, TypeScript no puede inferir el tipo exacto de una variable; el desarrollador puede utilizar aserciones de tipo para especificar el tipo de manera forzada.
Ejemplo
let strLength: number = (value as string).length;
8. Genéricos (Generics)
Los genéricos permiten no especificar un tipo concreto al definir funciones, interfaces o clases, sino utilizar un marcador de posición para que el usuario proporcione el tipo específico al usarlos. Los genéricos aumentan la reutilización del código y la seguridad de tipos.
Ejemplo
return arg;
}
9. Comentarios (Comments)
Los comentarios se utilizan en los programas TypeScript para explicar la función del código, las ideas, etc., y aumentan la legibilidad del código.
Comentario de una sola línea:
Ejemplo
Comentario de varias líneas:
Ejemplo
comentario de varias líneas */
10. Inferencia de Tipos (Type Inference)
TypeScript infiere automáticamente el tipo de una variable en ciertos casos. Por ejemplo, al declarar una variable y asignarle un valor, TypeScript infiere el tipo de dicha variable.
Ejemplo
11. Guardas de Tipo (Type Guards)
TypeScript proporciona guardas de tipo (como typeof e instanceof) para reducir el rango de tipos de una variable en tiempo de ejecución.
Ejemplo
return typeof value === 'string';
}
12. Programación Asíncrona (Asynchronous Programming)
TypeScript es totalmente compatible con la programación asíncrona. Se puede utilizar la sintaxis async/await para manejar operaciones asíncronas.
Ejemplo
const response = await fetch("https://example.com");
const data = await response.text();
return data;
}
13. Manejo de Errores (Error Handling)
TypeScript permite utilizar bloques try/catch para el manejo de errores, y también se pueden usar tipos para describir el tipo de error.
Ejemplo
throw new Error("Something went wrong");
} catch (error) {
if (error instanceof Error) {
console.error(error.message);
}
}