Skip to content

Commit 4d6b6ff

Browse files
committed
Removed titles
1 parent 7675fa9 commit 4d6b6ff

14 files changed

+2
-32
lines changed

book-content/chapters/01-setup-typescript.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 01. Kickstart Your TypeScript Setup
2-
31
Before diving into TypeScript, let's take a moment to talk about its foundation — JavaScript.
42

53
JavaScript is the language that makes web pages interactive. Any modern website will utilize some amount of it. And the more complex the site, the more complex the JavaScript.

book-content/chapters/02-ide-superpowers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,4 +576,4 @@ function getRandomPercentage() {
576576
}
577577
```
578578

579-
These are just some of the options provided by the Quick Fix menu. There's so much you can achieve with them, and we're only scratching the surface. Keep exploring and experimenting to discover their full potential!
579+
These are just some of the options provided by the Quick Fix menu. There's so much you can achieve with them, and we're only scratching the surface. Keep exploring and experimenting to discover their full potential!

book-content/chapters/03-typescript-in-the-development-pipeline.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 03. TypeScript In The Development Pipeline
2-
31
We've explored the relationship between JavaScript and TypeScript, and also how TypeScript improves your life as a developer. But let's go a bit deeper. In this chapter we'll get the TypeScript CLI up and running, and see how it fits into the development pipeline.
42

53
As an example, we'll be looking at using TypeScript to build a web application. But TypeScript can also be used anywhere JavaScript can - in a Node, Electron, React Native or any other app.

book-content/chapters/05-unions-literals-and-narrowing.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 05. Unions, Literals and Narrowing
2-
31
In this section, we're going to see how TypeScript can help when a value is one of many possible types. We'll first look at declaring those types using union types, then we'll see how TypeScript can narrow down the type of a value based on your runtime code.
42

53
## Unions and Literals

book-content/chapters/06-objects.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 06. Objects
2-
31
So far, we've looked at object types only in the context of 'object literals', defined using `{}` with type aliases.
42

53
But TypeScript has many tools available that let you be more expressive with object types. You can model inheritance, create new object types from existing ones, and use dynamic keys.

book-content/chapters/07-mutability.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 07. Mutability
2-
31
In our chapter on unions and narrowing, we explored how TypeScript can infer types from the logical flow of our code. In this chapter, we'll see how mutability - whether a value can be changed or not - can affect type inference.
42

53
## Mutability and Inference

book-content/chapters/08-classes.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 08. Classes
2-
31
Classes are a JavaScript feature that help you encapsulate data and behavior into a single unit. They are a fundamental part of object-oriented programming and are used to create objects that have properties and methods.
42

53
You can use the `class` keyword to define a class, and then create instances of that class using the `new` keyword. TypeScript adds a layer of static type checking to classes, which can help you catch errors and enforce structure in your code.

book-content/chapters/09-typescript-only-features.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 09. TypeScript-only Features
2-
31
Based on what I've told you so far, you might be thinking of TypeScript as just "JavaScript with types". JavaScript handles the runtime code, and TypeScript describes it with types.
42

53
But TypeScript actually has a few runtime features that don't exist in JavaScript. These features are compiled into JavaScript, but they are not part of the JavaScript language itself.

book-content/chapters/10-deriving-types.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# Deriving Types
2-
31
One of the most common pieces of advice for writing maintainable code is to "Keep code DRY", or more explicitly, "Don't Repeat Yourself".
42

53
One way to do this in JavaScript is to take repeating code and capture it in functions or variables. These variables and functions can be reused, composed and combined in different ways to create new functionality.
@@ -522,7 +520,6 @@ Notice there is a lot of duplication here. Both the `FormValues` interface and `
522520

523521
Your task is to modify the `inputs` Record so its keys are derived from the `FormValues` interface.
524522

525-
526523
<Exercise
527524
title="Exercise 1: Reduce Key Repetition"
528525
filePath="/src/040-deriving-types-from-values/125-keyof.problem.ts"
@@ -561,7 +558,6 @@ We want to use the `Environment` type across our application. However, the `conf
561558

562559
Your task is to update the `Environment` type so that it is derived from the `configurations` object.
563560

564-
565561
<Exercise
566562
title="Exercise 2: Derive a Type from a Value"
567563
filePath="/src/040-deriving-types-from-values/126-typeof-keyword.problem.ts"
@@ -597,7 +593,6 @@ type test = Expect<Equal<Group, "group">>;
597593

598594
Your task is to find the proper way to type `Group` so the test passes as expected.
599595

600-
601596
<Exercise
602597
title="Exercise 3: Accessing Specific Values"
603598
filePath="/src/040-deriving-types-from-values/135-indexed-access-types.problem.ts"
@@ -631,7 +626,6 @@ type test = Expect<
631626

632627
This time, your challenge is to update the `PlannedPrograms` type to use an indexed access type to extract a union of the `ProgramModeMap` values that included "`planned`".
633628

634-
635629
<Exercise
636630
title="Exercise 4: Unions with Indexed Access Types"
637631
filePath="/src/040-deriving-types-from-values/136-pass-unions-to-indexed-access-types.problem.ts"
@@ -1491,4 +1485,4 @@ The decision to derive or decouple is all about reducing your future workload.
14911485
14921486
Are the two types so related that updates to one will need to ripple to the other? Derive.
14931487
1494-
Are they so unrelated that coupling them could result in more work down the line? Decouple.
1488+
Are they so unrelated that coupling them could result in more work down the line? Decouple.

book-content/chapters/11-annotations-and-assertions.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# Annotations and Assertions
2-
31
Throughout this book, we've been using relatively simple type annotations. We've had a look at variable annotations, which help TypeScript know what type a variable should be:
42

53
```typescript

0 commit comments

Comments
 (0)