funciones - TypeScript: Interfaz vs Clase vs Módulos vs Programa vs Función
interface angular 4 (1)
Leí la especificación de TypeScript ubicada en: http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf
Sin embargo, me confundió con los siguientes:
- Interfaz
- Clase
- Módulos
- Programas
- Funciones
- Declarar contra var
¿Alguien podría ayudar brevemente a entender cuál de las anteriores debería usarse cuando? ¿Interface y Class son las mismas que en la versión de C #?
He hecho que estas respuestas coincidan con C # como lo mencionó en su pregunta, pero espero que las respuestas sean útiles para las personas que también vienen a TypeScript de idiomas similares.
Interfaz
Una interfaz en TypeScript es similar a las que encontró en C #. Es un contrato: si una de las 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 desde una clase para capturar su implementación.
¡Cuando algo parece imposible en TypeScript, generalmente puede resolverlo con una interfaz!
En TypeScript, las interfaces tienen una amplia gama de usos. Describen una estructura, por lo que pueden usarse en cualquier lugar donde use un tipo (es decir, no solo para implementarlos en una clase, puede usarlos para escribir variables, parámetros, valores de retorno, etc.).
Clase
Esto es muy similar al concepto de una clase en C #. Puede heredar de otras clases para extender o especializar el comportamiento.
Espacio de nombre
La palabra clave del espacio de nombres más reciente se usa para colocar un grupo de código dentro de un alcance limitado. Esto es similar a los espacios de nombres 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 agrega nada a su alcance global. Puede cargar módulos en variables locales cuando los necesite. Los módulos proporcionan una buena forma de organizar su código y cargar piezas según 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 ha escrito usando TypeScript.
Función / Método
Las clases contienen métodos y también puede escribir funciones independientes que no pertenecen a una clase.
Declarar contra var
var
crea una nueva variable. declare
se usa para decirle a TypeScript que la variable se ha creado en otro lugar. Si usa declare
, no se agrega nada al JavaScript que se genera; es simplemente una sugerencia para el compilador.
Por ejemplo, si usa un script externo que define var externalModule
, debería usar declare var externalModule
para indicarle al compilador de TypeScript que externalModule
ya ha sido configurado.