Typescript Basic Structure
The basic structure of a TypeScript program can be divided into several parts, each with a specific purpose.
The following are the common components of a TypeScript program:
* **Declarations**: Including type declarations, interface declarations, etc.
* **Variable Declarations**: Including the use of `let`, `const`, and `var`.
* **Function Declarations**: Including regular functions and arrow functions.
* **Class Declarations**: Used to define classes and their members.
* **Interfaces & Type Aliases**: Describe the structure of types.
* **Modularization**: Organize code through `import` and `export`.
* **Type Assertions**: Forced type conversion.
* **Generics**: Make code more reusable.
* **Comments**: Increase code readability.
* **Type Inference**: Automatically infer types.
* **Type Guards**: Narrow type ranges.
* **Asynchronous Programming**: Support `async/await`.
* **Error Handling**: Error catching through `try/catch`.
These parts together form the basic structure of a TypeScript program and provide developers with powerful type checking, code structure, and maintainability.
* * *
## 1. Declarations
**Type Declaration:** TypeScript is a statically typed language, and you can define types for variables, functions, classes, etc. through type declarations. Type declarations can make code more maintainable and readable.
## Example
let name: string ="Alice";
let age: number =30;
**Interface Declaration:** Used to define the structure of objects, including the object's properties and methods.
## Example
interface Person {
name: string;
age: number;
}
* * *
## 2. Variable Declarations
In TypeScript, you can use let, const, and var to declare variables. Using let and const is recommended, while var usage is no longer recommended.
## Example
let age: number =25;
const pi: number =3.14;
## 3. Function Declarations
Function Declarations: TypeScript allows declaring functions with type annotations, including parameter types and return value types.
## Example
function greet(name: string): string {
return"Hello, "+ name;
}
**Arrow Functions:** TypeScript also supports ES6 arrow functions, using concise syntax to declare functions.
## Example
const greet =(name: string): string =>"Hello, "+ name;
## 4. Class Declarations
TypeScript provides support for object-oriented programming, allowing the definition of classes along with their methods and properties.
## Example
class Person {
name: string;
age: number;
constructor(name: string, age: number){
this.name= name;
this.age= age;
}
greet(){
return `Hello, my name is ${this.name}`;
}
}
## 5. Interfaces & Type Aliases
Interfaces: Used to describe the shape of objects, interfaces can inherit and extend.
## Example
interface Animal {
name: string;
sound: string;
makeSound():void;
}
**Type Alias:** Allows defining aliases for object types, union types, intersection types, etc.
## Example
type ID = string | number;
* * *
## 6. Modules
YouTip