TS 中的 as 与 is

发布于 2023-05-04 19:39:34 字数 727 浏览 55 评论 0

as 的作用:

  1. 类型断言
  2. 类型转换

is 的作用:

  1. 类型保护的作用
function isPerson(value: any): value is Person {
    return value && typeof value.name === "string" && typeof value.age === "number";
  }
  
  interface Person {
    name: string;
    age: number;
  }
  
  function printPersonInfo(person: Person | string) {
    if (isPerson(person)) {
      console.log(`Name: ${person.name}, Age: ${person.age}`);
    } else {
      console.log(`Invalid person value: ${person}`);
    }
  }
  
  let person = { name: "John", age: 30 };
  printPersonInfo(person); // 输出 Name: John, Age: 30
  printPersonInfo("Invalid Person"); // 输出 Invalid person value: Invalid Person

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
24 人气
更多

推荐作者

qq_eQNo9e

文章 0 评论 0

内心旳酸楚

文章 0 评论 0

mb_BlPo2I8v

文章 0 评论 0

alipaysp_ZRaVhH1Dn

文章 0 评论 0

alipaysp_VP2a8Q4rgx

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文