返回介绍

类型层级链

发布于 2024-09-11 00:55:48 字数 1608 浏览 0 评论 0 收藏 0

type TypeChain = never extends 'wangxiaobai'
  ? 'wangxiaobai' extends 'wangxiaobai' | '18'
    ? 'wangxiaobai' | '18' extends string
      ? string extends String
        ? String extends Object
          ? Object extends any
            ? any extends unknown
              ? unknown extends any
                ? 8
                : 7
              :6
            :5
          :4
        :3
      :2
    :1
  :0

其返回的结果为 8 ,也就意味着所有条件均成立。

还可以构造出一条更长的类型层级链:

type VerboseTypeChain = never extends 'wangxiaobai'
  ? 'wangxiaobai' extends 'wangxiaobai' | '18'
    ? 'wangxiaobai' | '18' extends string
      ? string extends {}
        ? string extends String
          ? String extends {}
            ? {} extends object
              ? object extends {}
                ? {} extends Object
                  ? Object extends {}
                    ? object extends Object
                      ? Object extends object
                        ? Object extends any
                          ? Object extends unknown
                            ? any extends unknown
                              ? unknown extends any
                                ? 8
                                : 7
                              : 6
                            : 5
                          : 4
                        : 3
                      : 2
                    : 1
                  : 0
                : -1
              : -2
            : -3
          : -4
        : -5
      : -6
    : -7
  : -8

结果仍然为 8 。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文