Búsqueda de sitios web

TypeScript: Interfaz vs Clase vs Módulos vs Programa vs Función


Leí la especificación de TypeScript ubicada en: http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf

Sin embargo, me confundió con lo siguiente:

  1. Interfaz
  2. Clase
  3. Módulos
  4. Programas
  5. Funciones.
  6. Declarar vs. var

¿Alguien podría ayudar brevemente a entender cuál de los anteriores se debe usar y cuándo? ¿La Interfaz y la Clase son iguales que en la versión de C#?

Respuesta #1

He hecho que estas respuestas coincidan con C# ya que mencionaste eso en tu pregunta, pero con suerte las respuestas también son útiles para las personas que vienen a TypeScript desde lenguajes similares.

Interfaz

Una interfaz en TypeScript es similar a las que has encontrado en C#. Es un contrato: si una de tus clases implementa una interfaz, promete tener ciertas propiedades o métodos que la interfaz documenta.

En TypeScript, una interfaz puede heredar de otra interfaz para extenderla y de una clase para capturar su implementación.

¡Siempre que algo parezca imposible en TypeScript, usualmente puedes resolverlo con una interfaz!

En TypeScript, las interfaces tienen un amplio rango de usos. Describen una estructura, por lo que pueden ser usadas en cualquier lugar donde uses un tipo (es decir, no solo para implementarlas en una clase, puedes usarlas para tipar variables, parámetros, valores de retorno, y así sucesivamente).

Clase

Esto es muy similar al concepto de una clase en C#. Puedes heredar de otras clases para ampliar o especializar el comportamiento.

Espacio de nombres

La palabra clave de espacio de nombres más reciente se utiliza para colocar un grupo de código dentro de un ámbito limitado. Esto es similar a los espacios de nombres en C#.

Módulo

Los módulos son mejores que los espacios de nombres cuando se trata de TypeScript. Un módulo (anteriormente conocido como módulo externo) es un archivo que es autónomo y no añade nada a tu ámbito global. Puedes cargar módulos en variables locales según los necesites. Los módulos proporcionan una buena manera de organizar tu código y cargar partes bajo demanda. Al usar módulos, es mejor evitar el uso de espacios de nombres. Los módulos son mejores que los espacios de nombres.

Programa

Un programa es una colección de módulos, clases. Esto es esencialmente lo que has escrito usando TypeScript.

Función/Método

Las clases contienen métodos, y también puedes escribir funciones independientes que no pertenecen a una clase.

Declare vs. var

var crea una nueva variable. declare se usa para decirle a TypeScript que la variable ha sido creada en otro lugar. Si usas declare, no se añade nada al JavaScript que se genera; simplemente es una pista para el compilador.

Por ejemplo, si usas un script externo que define var externalModule, usarías declare var externalModule para indicar al compilador de TypeScript que externalModule ya ha been configurado.

Artículos relacionados