forked from kamranahmedse/developer-roadmap
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #115 from kamranahmedse/master
Create a new pull request by comparing changes across two branches
- Loading branch information
Showing
1 changed file
with
8 additions
and
6 deletions.
There are no files selected for viewing
14 changes: 8 additions & 6 deletions
14
...maps/typescript/content/101-typescript-types/115-type-assertions/101-as-type.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,18 @@ | ||
# As Type | ||
|
||
as is a type assertion in TypeScript that allows you to tell the compiler to treat a value as a specific type, regardless of its inferred type. | ||
|
||
For example: | ||
In TypeScript, the as keyword is used for type assertions, allowing you to explicitly inform the compiler about the type of a value when it cannot be inferred automatically. Type assertions are a way to override the default static type-checking behavior and tell the compiler that you know more about the type of a particular expression than it does. | ||
|
||
Here's a simple example: | ||
|
||
```typescript | ||
let num = 42; | ||
let str = num as string; | ||
let someValue: any = "Hello, TypeScript!"; | ||
let strLength: number = (someValue as string).length; | ||
|
||
// str is now of type string, even though num is a number | ||
console.log(strLength); // Outputs: 20 | ||
``` | ||
In this example, someValue is initially of type any, and we use the as operator to assert that it is of type string before accessing its length property. It's important to note that type assertions do not change the underlying runtime representation; they are a compile-time construct used for static type checking in TypeScript. | ||
|
||
It's important to note that type assertions do not change the runtime type of a value, and do not cause any type of conversion. They simply provide a way for the programmer to override the type inference performed by the compiler. | ||
|
||
- [Type assertions](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-assertions) | ||
- [Type assertions](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-assertions) |