Guest User

Untitled

a guest
Feb 16th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. const names: string[] = ['Foo', 'Bar'];
  2. names[2];
  3.  
  4. type Names = [ string, string ];
  5. const names: Names = ['Foo', 'Bar'];
  6. names[2];
  7.  
  8. type Names<TItem, TLength extends number> = [TItem, ...TItem[]] & { length: TLength };
  9. const names: Names<string, 2> = ['Foo', 'Bar'];
  10. names[2];
  11.  
  12. interface Person {
  13. name: string;
  14. age: number;
  15. };
  16. const person: Person = {
  17. name: 'Jarid',
  18. age: 35
  19. };
  20. person.foo;
  21.  
  22. declare function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K>;
  23. interface Person {
  24. name: string;
  25. age: number;
  26. };
  27. const person: Person = {
  28. name: 'Jarid',
  29. age: 35
  30. };
  31. const subperson = pick(person, 'name');
  32. subperson.age;
  33.  
  34. declare function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K>;
  35. interface Person {
  36. name: string;
  37. age: number;
  38. };
  39. const person: Person = {
  40. name: 'Jarid',
  41. age: 35
  42. };
  43. type KeyOfPerson = keyof Person;
  44. const keysOfPerson: KeyOfPerson[] = ['name'];
  45. const subperson = pick(person, ...keysOfPerson);
  46. subperson.age;
  47.  
  48. declare function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K>;
  49. interface Person {
  50. name: string;
  51. age: number;
  52. };
  53. const person: Person = {
  54. name: 'Jarid',
  55. age: 35
  56. };
  57. type KeysOfPerson = [ keyof Person ];
  58. const keysOfPerson: KeysOfPerson = [ 'name' ];
  59. const subperson = pick(person, ...keysOfPerson);
  60. subperson.age;
Add Comment
Please, Sign In to add comment