
JS
文章平均质量分 80
高厉害
此人真的真的非常懒,什么都没有写。
展开
-
【TS】TypeScript 实践中的 Equals 是如何工作的?
在 ts 中如何判断两种类型完全一致?三年前,在社区有一场关于支持 type level equal operator 的讨论 TypeScript#27024。大佬 @mattmccutchen 给出了一个非常精彩的解决方案:它本人并没有给出任何关于这个类型工作原理的解释,但它确实非常 work,在实践中被大量使用。不过,在后面其他人的交流中,发现了一些可能对理解有帮助的 comment。@fatcerberus这个类型在做的事情实际上就是,对 和 做 assignability 检查。而这个针对 c原创 2023-01-07 20:48:36 · 1516 阅读 · 0 评论 -
【TS】ts 中一些零碎特性记录
使用 spread opt in tuple 时,会出现类似 union 的分配避免 distributioninterface any value 会跳过可分配性检查原创 2023-01-03 18:31:44 · 860 阅读 · 2 评论 -
【TS】如何在 typescript 中迭代 union 类型?
如果我们的 union is assignable to但若 union 中存在额外情况,那就需要使用其他办法了。将 union 拆解开来并单独访问,我们知道 conditional type 有这个能力,因为 union 在其中会被拆解并分别 distribute 到单独的表达式中,但可惜的是,在运算结束后,这些值最终仍然会被 union 到一起,这个行为我们无法控制。对重载的函数,推断其函数签名时总以最后一个为准。last。原创 2022-12-20 21:36:13 · 666 阅读 · 0 评论 -
【TS】如何在 typescript 中将数组字面量推断到 tuple
Tuple 保留了数组内容的更多信息,包括数组长度,以及每个元素的类型(尤其是字面量类型)和元素之间的相对位置。尝试一下 实现 Promise.all 的类型。一个比较优秀的实现是:其中 用于显式将参数类型推断为 tuple,而不是更宽的数组类型 。不过,typescript 标准库里是这样实现的:注意到它没有使用 ,而是将泛型 的约束变成了一个 union type ,追加了一个空 tuple 类型。而当类型中包含 tuple 时,编译器会先一步**推断(inference)该类型为 tuple,原创 2022-12-19 20:18:50 · 465 阅读 · 0 评论 -
【TS】如何在 typescript 中合并一个 interface union?
这玩意利用了 union type 在 conditional type 中的 distributive 的特性,将 union 在第一个 condition 中 map 到多个具有单独类型参数 function,然后再 infer 到函数的参数上,就从 union 变成了 intersection。对上面这个合并的函数来说,我们要求他的参数类型一定是同时满足 union 中所有函数的参数类型的,所以一定是取交。函数中的参数,在上面的例子中,这个函数实际上是将 union 中的两个函数合在了一起。原创 2022-12-17 17:06:59 · 2405 阅读 · 1 评论 -
【手写协程】带你从底层实现一个最小协程调度器
带你从底层慢慢实现:事件循环、事件队列、IO 多路复用、Timer、生成器执行器、Promise、Thunk原创 2022-07-04 13:48:42 · 609 阅读 · 0 评论