实现一个类型安全的小型断言库is
实现一个类型安全的小型断言库is。先草拟类型。实现之后,可以像下面这样使用:
// 字符串与字符串比较is('string', 'number') // false
// 布尔与布尔is(true, false) // false
// 数字is(45, 45) // true
// 比较两个不同的类型的值应该抛出编译时错误
is(10, 'f00') // Error Argument of type '"foo"' is not assignable to paramter of tye 'number'
// (有难度) 可以传入任意个参数is([1], [1,2], [1,2,3])
function is<T>(a: T, ...b: [T, ...T[]]): boolean { return b.every(_ => _ === a)
}
function is<T>(a: T, ...b: T[]){ return b.every(_ => _ === a)
}
这不一样吗
以上是 实现一个类型安全的小型断言库is 的全部内容, 来源链接: utcz.com/p/936386.html