返回介绍

原始类型

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

number / string / boolean / null / undefined / symbol / bigint

const name: string = 'wangxiaobia';
const age: number = 18;
const male: boolean = false;
const undef: undefined = undefined;
const nul: null = null;
const bigIntVar1: bigint = 9007199254740991n;
const symbolVar: symbol = Symbol('unique');

null 和 undefined

null 与 undefined 都是有具体意义的类型。在没有开启 strictNullChecks 检查的情况下,会被视作其他类型的子类型,比如 string 类型会被认为包含了 null 与 undefined 类型:

const temp1: null = null;
const temp2: undefined = undefined;
const temp3: string = null;
const temp4: string = undefined;

void

描述一个内部没有 return,或没有显示 return 一个值的函数的返回值。

function func1 () {};
function func2 () { return };
function func3 () {
  return undefined;
}

func1 与 func2 的返回值类型会被隐式推导为 void,显式返回了 undefined 值的 func3 其返回值类型被推导为了 undefined。但在实际的代码执行中,func1 与 func2 的返回值均是 undefined。

虽然 func3 的返回值类型会被推导为 undefined,但仍可以使用 void 类型进行标注,因为在类型层面 func1、func2、func3 都表示“没有返回一个有意义的值”。

void 表示一个空类型,而 null 与 undefined 都是一个具有意义的实际类型。而 undefined(null) 能够被赋值给 void 类型的变量,但需要在关闭 strictNullChecks 配置的情况下才能成立。

const voidVar1: void = null;
const voidVar2: void = undefined;

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

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

发布评论

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