¿Cuál es el principio de tipado de TypeScript?

El Principio de Tipado de TypeScript: Una Visión Integral

TypeScript es un lenguaje de programación de código abierto que es un superconjunto de JavaScript, añadiendo funciones estáticas de tipado y objetos con base en clases. Una de las características más notables de TypeScript es su "tipado", y en realidad, TypeScript utiliza una combinación de tres principios de tipado: Gradual, Duck, y Dinámico. Por lo tanto, la respuesta correcta a la pregunta es "Todas las anteriores".

Principio de Tipado Gradual

En el tipado gradual, las porciones de un código pueden ser manipuladas como dinámicamente tipadas, o estáticamente tipadas según sea necesario. Esto proporciona la flexibilidad del tipado dinámico y el control y la seguridad del tipado estático. Por ejemplo, puedes definir un tipo y luego cambiarlo posteriormente en tu código.

let algo: any = 123; // Tipo de dato dinámico
algo = 'Hola mundo'; // Cambiando el tipo a string 

let otra: number = algo; // Error: El tipo 'string' no es asignable al tipo 'number'.

Principio de Tipado Duck (Pato)

Duck typing es un principio de programación que dice que si un objeto anda como un pato y grazna como un pato, entonces es probable que sea un pato. En otras palabras, un objeto es de un tipo particular si tiene las propiedades y los métodos que se esperan de ese tipo, independientemente de su clase o herencia.

Por ejemplo, en lugar de verificar si un objeto es de una clase específica, comprobamos si tiene los métodos y propiedades que necesitamos.

interface Pato {
  graznar(): void;
  caminar(): void;
}

function actuarComoPato(objeto: any): void {
  if(objeto.graznar && objeto.caminar) {
    objeto.graznar();
    objeto.caminar();
  }
}

Principio de Tipado Dinámico

TypeScript también admite tipado dinámico. Puedes declarar una variable sin especificar su tipo. El compilador de TypeScript infiere automáticamente su tipo basado en el valor inicial.

let dinamico = "hola";
dinamico = 10; // Error

En conclusión, el principio de tipado de TypeScript no es único, sino una mezcla de principios de tipado gradual, duck y dinámico. Con esta flexibilidad, TypeScript proporciona a los desarrolladores el control sobre cómo quieren trabajar con los tipos, permitiéndoles elegir entre seguridad y flexibilidad donde sea necesario.

Related Questions

¿Te resulta útil?