반응형
(문제 링크)[https://typehero.dev/challenge/generic-type-arguments]
문제
type GroceryStore = unknown;
type GroceryItem = unknown;
type CapreseSalad = unknown;
이 타입을 변형하여
import { Expect, Equal } from 'type-testing';
type test_CapreseSaladName = Expect<Equal<
CapreseSalad['name'],
'Caprese Salad'
>>;
type test_CapreseSaladPrice = Expect<Equal<
CapreseSalad['price'],
14.99
>>;
type test_CapreseSaladInStock = Expect<Equal<
CapreseSalad['inStock'],
true
>>;
type test_KrogerDetroit = Expect<Equal<
GroceryStore<'Kroger', 'Detroit'>,
{ name: 'Kroger', city: 'Detroit' }
>>;
type test_StopNShopMassachusetts = Expect<Equal<
GroceryStore<'Stop \'N Shop', 'Massachusetts'>,
{ name: 'Stop \'N Shop', city: 'Massachusetts' }
>>;
이 타입을 통과시키면 된다.
문제 풀이
간단한 제네릭으로 풀 수 있는 문제들이다.
type GroceryStore<Name, City> = {
name:Name;
city:City
}
type GroceryItem<Name, InStock, Price> = {
name: Name
inStock:InStock
price:Price
};
type CapreseSalad = GroceryItem<'Caprese Salad', true, 14.99>
이렇게 하면 나온다.
근데 사실
type GroceryStore<Name, City> = {
name:Name;
city:City
}
type GroceryItem = {
price:14.99
};
type CapreseSalad = {
name:'Caprese Salad'
inStock:true
price:14.99
}
이렇게 이상하게 해도 정답이 나오긴한다.
반응형
'Typehero Challenge' 카테고리의 다른 글
Typehero Challenge BEGINNER Hello World (0) | 2024.07.04 |
---|