/*
1.
첫 번째 타입 T, 두 번째 타입 U
a. 가능하다 T < U
b. 불가능하다 T > U
c. 가능하다 T < U
d. 불가능하다 T와 U가 서로소 집합
e. 가능하다 T < U
f. 불가능하다 T > U
g. 가능하다 T < U
h. 가능하다 T < U
i. 가능하다 T = U
j. 불가능하다 T와 U가 서로소 집합
k. 가능하다 (같은 반환형에 더 넓은 매개변수)
l. 불가능하다 (서로 다른 열거형)
2.
keyof O = 'a'
O['a']['b'] = c : string
*/
//T = string | boolean | number , U = boolean | number | string[]
3.
type Exclusive<T, U> = Exclude<T, U> | Exclude<U, T>
/*
type A = 1 | 2
type B = 2 | 3
Exclusive<A, B>
Exclude<1 | 2 , 2 | 3> | Exclude<2 | 3, 1 | 2>
(1 | 2 extends 2 | 3 ? never : 1 | 2) | (2 | 3 extends 1 | 2 ? never : 2 | 3)
(1 extends 2 | 3 ? never : 1) | (2 extends 2 | 3 ? never : 2) | (2 extends 1 | 2 ? never : 2) | (3 extends 1 | 2 ? never : 3)
1 | never | never | 3
1 | 3
*/
const globalCache = {
get(input: string ) {
return 'string'
}
}
let userId = fetchUser()
userId.toUpperCase();
function fetchUser() {
return globalCache.get('userId')
}
728x90
'Typescript > 타입스크립트 프로그래밍 연습문제' 카테고리의 다른 글
7장 연습문제 (0) | 2023.03.30 |
---|---|
5장 연습문제 (0) | 2023.03.23 |
4장 연습문제 (0) | 2023.03.22 |
3장 연습문제 (0) | 2023.03.21 |