Hello World
问题描述
在这个挑战中,你需要修改下方的代码使得测试通过(使其没有类型错误)。
// 期望是一个 string 类型
type HelloWorld = any
// 你需要使得如下这行不会抛出异常
type test = Expect<Equal<HelloWorld, string>>
// ============= Test Cases =============
import type { Equal, Expect, NotAny } from './test-utils'
type cases = [Expect<NotAny<HelloWorld>>, Expect<Equal<HelloWorld, string>>]
// ============= Your Code Here =============
// 答案
type HelloWorld = string // expected to be a string
最简单的一道题,泛型 Equal 用来判断两个泛型是不是相同类型,泛型 Expect 用来判断得到的泛型是不是为 true 类型,泛型 NotAny 用来判断泛型是不是 any 类型 ,所以这里只需要将泛型 HelloWorld 定义为 string 即可。这样 泛型 Expect<NotAny<HelloWorld>> 会判断 HelloWorld 的类型是不是 any 类型,如果不是,则 NotAny<HelloWorld> 的结果就会为 true 类型,同理 Expect<Equal<HelloWorld, string>> 会先判断 HelloWorld 类型 和 string 类型 是否相等,如果相等,则 Equal<HelloWorld, string> 类型为 true。