# Exercise Solutions: TypeScript¶

## Part 1 - Declare Variables With Type¶

1. Declare the variables with type based on the information given in the table.

 ```1 2 3 4 5``` ```let spacecraftName: string = 'Determination'; let speedMph: number = 17500; let kilomitersToMars: number = 225000000; let kilometersToTheMoon: number = 384400; let milesPerKilometer: number = 0.621; ```

## Part 2 - Print Days to Mars¶

1. Use a template literal to print variables.

```console.log(`\${spacecraftName} would take \${daysToMars} days to get to Mars.`);
```

## Part 3 - Create a Function¶

1. In the space indicated, define a function that calculates the days it would take to travel to a location.

 ```1 2 3 4 5``` ```function getDaysToLocation(kilometersAway: number): number { let milesAway: number = kilometersAway * milesPerKilometer; let hours: number = milesAway / speedMph; return hours / 24; } ```

## Part 4 - Create a Spacecraft Class¶

Create a `Spacecraft` class.

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```class Spacecraft { milesPerKilometer: number = 0.621; name: string; speedMph: number; constructor(name: string, speedMph: number) { this.name = name; this.speedMph = speedMph; } getDaysToLocation(kilometersAway: number): number { let milesAway: number = kilometersAway * this.milesPerKilometer; let hoursToMars: number = milesAway / this.speedMph; return hoursToMars / 24; } } ```

## Part 5 - Export and Import the SpaceLocation Class¶

After following the steps in Part 5, your `Spacecraft` class should look slightly different:

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20``` ```class Spacecraft { milesPerKilometer: number = 0.621; name: string; speedMph: number; constructor(name: string, speedMph: number) { this.name = name; this.speedMph = speedMph; } getDaysToLocation(kilometersAway: number): number { let milesAway: number = kilometersAway * this.milesPerKilometer; let hours: number = milesAway / this.speedMph; return hours / 24; } printDaysToLocation(location: SpaceLocation) { console.log(`\${this.name} would take \${this.getDaysToLocation(location.kilometersAway)} days to get to \${location.name}.`); } } ```