mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-08-10 16:54:33 +02:00
Merge pull request #3694 from davidgtu/ts/type-assertion
[en/typescript] add type assertion section
This commit is contained in:
@@ -257,8 +257,24 @@ for (const i in list) {
|
|||||||
console.log(i); // 0, 1, 2
|
console.log(i); // 0, 1, 2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Type Assertion
|
||||||
|
|
||||||
|
let foo = {} // Creating foo as an empty object
|
||||||
|
foo.bar = 123 // Error: property 'bar' does not exist on `{}`
|
||||||
|
foo.baz = 'hello world' // Error: property 'baz' does not exist on `{}`
|
||||||
|
|
||||||
|
// Because the inferred type of foo is `{}` (an object with 0 properties), you
|
||||||
|
// are not allowed to add bar and baz to it. However with type assertion,
|
||||||
|
// the following will pass:
|
||||||
|
|
||||||
|
interface Foo {
|
||||||
|
bar: number;
|
||||||
|
baz: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
let foo = {} as Foo; // Type assertion here
|
||||||
|
foo.bar = 123;
|
||||||
|
foo.baz = 'hello world'
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user