Beta: la interactividad aún no está en su lugar ...
Libro de códigos - TypeScript
Bienvenido al libro de códigos: ¡su guía integral para el aprendizaje de los tipos mecanografiados! Aprenda por ejemplos de cero a héroe en mecanografiado. Este repositorio sirve como un recurso valioso para principiantes y desarrolladores experimentados por igual, ofreciendo una colección curada de ejemplos y explicaciones para ayudarlo a dominar el mecanografiado.
Comienzo rápido
Siga estos pasos para comenzar con el libro de códigos:
- Clonar el repositorio de su máquina local.
- Instale las dependencias del proyecto ejecutando la instalación de NPM.
- Compile el código TypeScript ejecutando la compilación de la ejecución de NPM.
- Ejecute los ejemplos para cada capítulo ejecutando el script NPM correspondiente.
# replace number with chapter you want to see output from.
npm run chapter:1
Tenga en cuenta que la mayoría de los ejemplos generarán texto ficticio. Para explorar el código con más detalle, se recomienda leer los scripts mismos. Puede encontrar el código fuente en el directorio ./SRC y navegar a través de los capítulos.
Asegúrese de tener Node.js instalado en su máquina, preferiblemente la versión 16 o superior como se especifica en el campo Motores del paquete.json. El repositorio de códigos ha sido probado y verificado para funcionar con Node.js 16. El objetivo ECMA2020 en el compilador TypeScript requiere un mínimo de nodo.js versión 10.
Siéntase libre de explorar los enlaces rápidos que se proporcionan a continuación o sumergirse en el código fuente para mejorar su experiencia de aprendizaje. ¡Feliz codificación!
Nota: La base de código se prueba y mantiene continuamente, pero tenga en cuenta que algunas secciones pueden estar en desarrollo o no cubrirse en profundidad. Sus comentarios y contribuciones son muy apreciados para hacer que este repositorio sea más valioso para la comunidad mecanografiada.
¿Qué hay dentro?
El libro de códigos cubre una amplia gama de temas mecanografiados, comenzando desde los conceptos básicos y sumergiéndose gradualmente en conceptos más avanzados. Cada tema se acompaña de ejemplos claros y concisos, lo que le permite aprender haciendo. Desde tipos primitivos y alias de tipo hasta clases, módulos y sistemas de tipo avanzado, el libro de códigos lo tiene cubierto.
Camino de aprendizaje
Este repositorio está diseñado como un curso de bloqueo, guiándote de cero a héroe en TypeScript. Está estructurado de una manera que le permita desarrollar progresivamente sus conocimientos y habilidades. Comience con los fundamentos y avance, abordando conceptos más complejos a medida que avanza. Siéntase libre de explorar a su propio ritmo y volver a visitar temas siempre que necesite un repaso.
¿Qué es TypeScript?
- JavaScript es un lenguaje de secuencias de comandos, también mejor conocido como lenguaje interpretado, lo que significa que el código se ejecuta en línea por línea en tiempo de ejecución en lugar de ser compilado en una forma binaria antes de la ejecución. La interpretación generalmente lo realiza un interpretador de JavaScript, algunos comunes son node.js, o cualquier navegador (con soporte para JavaScript, que probablemente sean todos).
- TypeScript es un superconjunto de JavaScript, lo que significa que cualquier código JavaScript válido también es un código TypeScript válido. Pero además, introduce un compilador (TSC) que traduce el código TypeScript en JavaScript, lo que le permite aprovechar las características y beneficios adicionales de TypeScript mientras se dirige a JavaScript como la plataforma de ejecución.
- TS Alcance: TSC considera que todos los archivos incluidos en el compilador pertenecen al mismo espacio global. Esto también se aplica para archivos JS si la configuración incluye. Para evitar la polución del alcance, cada archivo está envuelto en una vida para separar los ámbitos.
- Técnicamente, un ciclo de vida típico de una base de código JavaScript sería el desarrollo, seguido de la ejecución del tiempo de ejecución. Por supuesto, hay otras etapas del ciclo de vida, como la transposición, la construcción, la generación, las pruebas, la publicación, la implementación, etc., por simplicidad, aquí sumaremos todas las etapas previas al run en 'desarrollo' y luego 'tiempo de ejecución'.
- Dado todo esto, es seguro decir que TypeScript introduce una etapa obligatoria, la compilación, como un costo adicional, pero es muy apreciado el premio de los errores reductores en gran medida.
¿Por qué a TypeScript?
- Análisis estático: la base de código se vuelve 'fuertemente escrita', lo que significa que la anotación de objetos está vinculada a interfaces y declaraciones, lo que le permite tener la 'forma' o el 'tipo' de cada objeto antes del tiempo de ejecución. Esto mejora la captura de errores (a través de la seguridad del tipo) antes de ejecutar la aplicación.
- Herramientas: IDE con soporte para TypeScript mejorará en gran medida sus flujos de trabajo de codificación. VScode usa TypeScript debajo del capó y ayuda incluso con las bases de código JS.
- Legabilidad: tener una definición de objeto explícita (de tipos) ayuda a comprender lo que hace un objeto y cómo se comporta y no es solo un objeto 'aleatorio' con las propiedades. Otry TypeScript ofrece un impulso a JavaScript al introducir características del lenguaje, como interfaces, genéricos y otros, todo lo cual le permite estructurar aún más la base de código de uno aún mejor.
- Mantenibilidad: la refactorización se está volviendo más fácil y más segura, debido a que se desencadena la seguridad de los tipos, puede observar dependencias, referencias, etc., todo el análisis estático.
- Adopción: dado que TypeScript se construye en la parte superior de JavaScript, se puede adoptar fácilmente. Aún más, eso puede suceder gradualmente.
¿Cuándo a TypeScript?
Vale la pena señalar que TypeScript introduce una complejidad adicional en comparación con la escritura de JavaScript. Si está trabajando en un proyecto pequeño, tiene plazos ajustados o requiere prototipos rápidos, TypeScript podría no proporcionar beneficios sustanciales, y JavaScript podría ser una opción más adecuada.
Contribución
Este libro de códigos es un proyecto de código abierto, ¡y las contribuciones son bienvenidas! Si encuentra algún error, tiene sugerencias de mejoras o desea agregar más ejemplos para mejorar la experiencia de aprendizaje, no dude en enviar una solicitud de extracción. Juntos, podemos hacer de este un recurso aún mejor para la comunidad TypeScript.
Nota: Este libro de códigos evoluciona continuamente, y algunos temas pueden faltar o no cubrir en profundidad. Sus comentarios y contribuciones ayudarán a que este repositorio sea más integral y valioso para todos.
Tabla de contenido
- Capítulo 1: inseguridad
- Tipo
- Oculto
- No excepción
- Error de tipografía
- Funcional
- Capítulo 2: ¡Hola mundo!
- Capítulo 3: Primitivos
- Capítulo 4: Colecciones
- Sintaxis de la matriz
- Matriz Readonly
- Tuplas
- Sets
- Mapas
- Capítulo 5: Funciones
- Sintaxis
- Sin tipo de retorno
- Contexto
- Argumentos explícitos
- Firma de llamadas
- Firma de constructor
- Firma de sobrecarga
- Parámetros de descanso
- Argumentos extendidos
- Capítulo 6: Objetos
- Propiedad opcional
- Afirmación no nula
- Encadenamiento opcional
- Anónimo
- Referencia: esto
- Destructor
- Valores predeterminados
- Modificador de lectura
- Mutación de lectura
- Firma de índice
- EXCEDIO DE COMISIÓN DE PROPIEDAD
- Capítulo 7: Tipos
- Alias
- Unión
- Intersección
- Literales
- Tipo desconocido
- Tipo en línea
- Nunca
- Expresión de tipo de función
- Borradura
- Tipo de objeto
- Tipo de función
- Tipo condicional
- Tipo mapeado
- Tipos de manipulación de cadenas
- Capítulo 8: Interfaces
- Sintaxis
- Contrato
- Extensión
- Capítulo 9: Casting
- Capítulo 10: estrechamiento
- Tipo de guardia
- Igualdad
- Contenido
- Instancia
- Asignación
- Flujo de control
- Predicado
- Capítulo 11: Generics
- Tipo de retorno
- Inferencia
- Restricciones
- Genéricos
- Capítulo 12: Reflexiones
- Propiedades de indexación
- Tipo de reflexión
- Tipo de retorno
- Tipos de indexación
- Capítulo 13: Clase
- Sintaxis
- Campos
- Readonamente
- Constructores
- Sobrecarga
- Súper llamada
- Métodos
- Propiedades
- Herencia
- Interfaces
- Anulación
- Acceso a los miembros
- Miembros estáticos
- Abstracción
- Polimorfismo
Licencia
Este proyecto tiene licencia bajo la licencia MIT. Consulte el archivo de licencia para obtener más información.
Que contribuye
¡Las contribuciones a este libro de códigos son bienvenidas! Si tiene algún informe de errores, solicitudes de funciones o desea enviar una solicitud de extracción, siga las pautas descritas en el archivo que contribuye.
Hoja de ruta
Los planes futuros para este libro de códigos incluyen expandir la cobertura de temas de TypeScript, agregar más ejemplos y proporcionar ejercicios interactivos para reforzar el aprendizaje. Además, nuestro objetivo es incorporar comentarios de la comunidad y abordar cualquier problema informado.
Expresiones de gratitud
Un agradecimiento especial a las siguientes personas y proyectos por sus contribuciones, inspiración y apoyo:
- TypeScript: el idioma y la comunidad mecanografiados.
- Awesome TS: una lista curada de increíbles recursos mecanografiados.
Recursos
Aquí hay algunos recursos adicionales para mejorar aún más su aprendizaje mecanografiado:
- Documentación oficial de mecanografiado
- Manual mecanografiado
Apoyo
Si encuentra algún problema o tiene alguna pregunta, no dude en comunicarse creando un problema en el repositorio de GitHub.
Conclusión
¡Gracias por su interés en este libro de códigos! Esperamos que esta colección de ejemplos y explicaciones de TypeScript lo ayude en su viaje de aprendizaje. Le recomendamos que explore el código, experimente y proporcione comentarios. ¡Feliz codificación!