Тест по TypeScript — Сложный уровень
Какое ключевое слово используется для извлечения типа внутри условного типа?
- 1. infer
- 2. extends
- 3. in
- 4. implements
Какой синтаксис соответствует mapped type?
- 1. { [K in keyof T]: T[K] }
- 2. { K in keyof T: T[K] }
- 3. { K extends keyof T: T[K] }
- 4. { [K: keyof T]: T[K] }
Как обозначить тип, исключающий ключи одного типа из другого?
- 1. type T = A & B
- 2. type T = A | B
- 3. type T = A - B
- 4. type T = A + B
Какой utility type исключает указанные ключи из объекта?
- 1. Pick<T, K>
- 2. Omit<T, K>
- 3. Exclude<T, K>
- 4. Extract<T, K>
Какой тип невозможен в TypeScript?
- 1. string & number
- 2. string | number
- 3. any & string
- 4. never | string
Какой из этих utility types не существует?
- 1. Uppercase<T>
- 2. Capitalize<T>
- 3. CamelCase<T>
- 4. Uncapitalize<T>
Какой utility type не входит в стандартный набор TypeScript?
- 1. Parameters<T>
- 2. ConstructorParameters<T>
- 3. ReturnType<T>
- 4. AsyncReturn<T>
Какой синтаксис некорректен в TypeScript?
- 1. T extends U ? X : Y
- 2. infer R
- 3. keyof typeof
- 4. interface X extends Y<T> {}
Какой синтаксис некорректен для mapped types?
- 1. [K in keyof T]
- 2. [P extends keyof T]
- 3. [keyof T in P]
- 4. [T in keyof P]
Какой тип не является частью стандартной библиотеки типов TypeScript?
- 1. Record<K, T>
- 2. Map<K, T>
- 3. { [P in K]: T }
- 4. { [key: K]: T }
Какое ключевое слово не используется в TypeScript?
- 1. interface
- 2. type
- 3. mixin
- 4. class
Какой модификатор доступа не существует в TypeScript?
- 1. readonly
- 2. private
- 3. protected
- 4. hidden
Какой синтаксис интерфейса некорректен?
- 1. interface A {}
- 2. interface A { [key: string]: any }
- 3. interface A extends B {}
- 4. interface A implements B {}
Какой дженерик с типом по умолчанию написан некорректно?
- 1. [
- 2. "
- 3. i
- 4. n
- 5. t
- 6. e
- 7. r
- 8. f
- 9. a
- 10. c
- 11. e
- 12.
- 13. A
- 14. <
- 15. T
- 16.
- 17. =
- 18.
- 19. s
- 20. t
- 21. r
- 22. i
- 23. n
- 24. g
- 25. >
- 26. "
- 27. ,
- 28.
- 29. "
- 30. t
- 31. y
- 32. p
- 33. e
- 34.
- 35. A
- 36. <
- 37. T
- 38.
- 39. e
- 40. x
- 41. t
- 42. e
- 43. n
- 44. d
- 45. s
- 46.
- 47. s
- 48. t
- 49. r
- 50. i
- 51. n
- 52. g
- 53.
- 54. =
- 55.
- 56. n
- 57. u
- 58. m
- 59. b
- 60. e
- 61. r
- 62. >
- 63. "
- 64. ,
- 65.
- 66. "
- 67. t
- 68. y
- 69. p
- 70. e
- 71.
- 72. A
- 73. <
- 74. T
- 75.
- 76. e
- 77. x
- 78. t
- 79. e
- 80. n
- 81. d
- 82. s
- 83.
- 84. s
- 85. t
- 86. r
- 87. i
- 88. n
- 89. g
- 90.
- 91. =
- 92.
- 93. "
- 94. a
- 95. b
- 96. c
- 97. "
- 98. >
- 99. "
- 100. ,
- 101.
- 102. "
- 103. t
- 104. y
- 105. p
- 106. e
- 107.
- 108. A
- 109. <
- 110. T
- 111.
- 112. =
- 113.
- 114. s
- 115. t
- 116. r
- 117. i
- 118. n
- 119. g
- 120.
- 121. |
- 122.
- 123. n
- 124. u
- 125. m
- 126. b
- 127. e
- 128. r
- 129. >
- 130. "
- 131. ]
Какой generic constraint может привести к бесконечной рекурсии?
- 1. function f<T extends U>()
- 2. function f<T extends keyof U>()
- 3. function f<T extends T>()
- 4. function f<T extends any>()
Какой термин не используется в контексте шаблонных строк в TypeScript?
- 1. template strings
- 2. template literals
- 3. string templates
- 4. literal templates
Какой из шаблонных типов некорректен?
- 1. `${T & U}`
- 2. `hello ${T}`
- 3. `a${T}b`
- 4. `T + U`
Какой utility type некорректно применён к ключам?
- 1. Exclude<keyof T, K>
- 2. Extract<keyof T, K>
- 3. Pick<keyof T, K>
- 4. Omit<keyof T, K>
Что создаёт mapped type, где все свойства отсутствуют?
- 1. { [K in keyof T]: never }
- 2. Partial<Record<K, never>>
- 3. Readonly<Required<T>>
- 4. Pick<T, keyof T> & Omit<T, never>
Какой из этих типов может использовать себя в своем определении?
- 1. conditional types
- 2. recursive types
- 3. template types
- 4. utility types