TypeScript es un lenguaje de programación que es una superconjunto de JavaScript. Este soporta términos clásicos de la programación orientada a objetos (POO), lo que lo hace una herramienta potente para el desarrollo de aplicaciones complejas en JavaScript.
Las interfaces son una forma poderosa de definir 'contratos' tanto para tu proyecto, como para el código externo o librerías. Las interfaces pueden ser utilizadas para definir tipos personalizados. Ya que TypeScript utiliza un sistema de tipado estático, las interfaces pueden ser de gran utilidad para reducir errores de tipado y mejorar la autocompletación y el análisis de código.
interface Persona {
nombre: string;
edad: number;
}
Las clases son uno de los elementos fundamentales de la POO y TypeScript las soporta completamente. Una clase puede contener campos, métodos y construcciones, y puede utilizar los modificadores de acceso public
, private
y protected
. Las clases también pueden heredar de otras clases, lo que permite la creación de jerarquías de clase y la reutilización de código.
class Empleado {
nombre: string;
salario: number;
constructor(nombre: string, salario: number) {
this.nombre = nombre;
this.salario = salario;
}
calcularBonificacion() {
return this.salario * 0.1;
}
}
Los módulos en TypeScript son unidades de código independientes que pueden ser importadas y exportadas en otros módulos. Los módulos son tremendamente útiles para mantener el código organizado y facilitar la reutilización de código. Un archivo TypeScript es un módulo si contiene al menos una declaración de exportación o importación.
// modulo1.ts
export function saludo() {
return 'Hola mundo!';
}
// modulo2.ts
import { saludo } from './modulo1';
console.log(saludo()); // Hola mundo!
Por ende, la respuesta correcta es que TypeScript admite todos los términos de programación orientada a objetos mencionados: Interfaces, Clases y Módulos. Este es uno de los principales puntos fuertes de TypeScript y una de las razones por las que ha ganado tanta popularidad en los últimos años.