js中的typeof 与typescript typeof的区别

JavaScript的typeof运算符返回值的数据类型,如undefined、boolean等,但在TypeScript中,typeof用于类型判断,返回TypeScript的类型,如number。在TS中,typeof还能获取函数的参数和返回值类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js中的typeof 与typescript typeof的区别

在 JavaScript 中,typeof 是一个运算符,用于返回一个值的数据类型。它可以返回下列字符串中的一个:

  • "undefined" 表示值未定义
  • "boolean" 表示值是布尔值
  • "number" 表示值是数值
  • "bigint" 表示值是大整数
  • "string" 表示值是字符串
  • "symbol" 表示值是符号
  • "function" 表示值是函数
  • "object" 表示值是对象或 null

需要注意的是,typeof null 返回的是 "object",这是一个历史遗留问题。

在 TypeScript 中,typeof 也是一个运算符,但是它可以用于类型判断。它返回一个类型字符串,表示一个值的类型。使用 typeof 运算符时,它返回的类型是 TypeScript 中的类型,而不是 JavaScript 中的类型。例如:

let x = 123;
let y: typeof x = 456; // y 的类型为 number,和 x 的类型相同

在这个示例中,typeof x 返回的是 number 类型,这个类型被用来定义变量 y 的类型。

另外需要注意的是,在 TypeScript 中,typeof 运算符还可以用于获取一个函数的参数类型、返回值类型等。例如:

function add(x: number, y: number) {
  return x + y;
}

type AddFunc = typeof add; // AddFunc 类型为 (x: number, y: number) => number

在这个示例中,typeof add 返回的是 (x: number, y: number) => number 类型,这个类型被用来定义类型别名 AddFunc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杏雨1969

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值