|
1 |
| -interface CatInfo { |
2 |
| - age: number; |
3 |
| - breed: string; |
| 1 | +// interface CatInfo { |
| 2 | +// age: number; |
| 3 | +// breed: string; |
| 4 | +// } |
| 5 | + |
| 6 | +// type CatName = "miffy" | "boris" | "mordred"; |
| 7 | + |
| 8 | +// const cats: Record<CatName, CatInfo> = { |
| 9 | +// miffy: { age: 10, breed: "Persian" }, |
| 10 | +// boris: { age: 5, breed: "Maine Coon" }, |
| 11 | +// mordred: { age: 16, breed: "British Shorthair" }, |
| 12 | +// }; |
| 13 | + |
| 14 | +// console.log(cats.mordred); |
| 15 | + |
| 16 | +// Intersection typescript |
| 17 | +interface Book { |
| 18 | + book_id: number; |
| 19 | + book_name: string; |
| 20 | +} |
| 21 | + |
| 22 | +interface Author { |
| 23 | + author_id: number; |
| 24 | + author_name: string; |
4 | 25 | }
|
5 | 26 |
|
6 |
| -type CatName = "miffy" | "boris" | "mordred"; |
| 27 | +type intersected_type = Book & Author; |
7 | 28 |
|
8 |
| -const cats: Record<CatName, CatInfo> = { |
9 |
| - miffy: { age: 10, breed: "Persian" }, |
10 |
| - boris: { age: 5, breed: "Maine Coon" }, |
11 |
| - mordred: { age: 16, breed: "British Shorthair" }, |
| 29 | +let intersected_type_object1: intersected_type = { |
| 30 | + book_id: 101, |
| 31 | + book_name: "Typescript is Awesome", |
| 32 | + author_id: 202, |
| 33 | + author_name: "Tutorialspoint!", |
12 | 34 | };
|
13 | 35 |
|
14 |
| -console.log(cats.mordred); |
| 36 | +console.log("Book Id: " + intersected_type_object1.book_id); |
| 37 | +console.log("Book name: " + intersected_type_object1.book_name); |
| 38 | +console.log("Author Id: " + intersected_type_object1.author_id); |
| 39 | +console.log("Author name: " + intersected_type_object1.author_name); |
0 commit comments