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

js中的typeof 与typescript typeof的区别相关推荐

  1. css里面的let,js中let和var定义变量的区别

    javascript 严格模式 第一次接触let关键字,有一个要非常非常要注意的概念就是"javascript 严格模式",比如下述的代码运行就会报错: let hello = ' ...

  2. [JS]js中判断变量类型函数typeof的用法汇总[转]

    1.作用: typeof 运算符返回一个用来表示表达式的数据类型的字符串.  可能的字符串有:"number"."string"."boolean&q ...

  3. js中 NaN、 null 及 undefined 的区别(转载)

    NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值. 即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对 ...

  4. js中innerHTML与innerText的用法与区别【转自http://blog.sina.com.cn/johnpu】

    用法:SupeSite/X-Space官方站%x-ZP$k?'DWZ_{ SupeSite/X-Space官方站K?_/T9s3^QJ a4X <div id="test"& ...

  5. html事件中写js,html标签中绑定触发事件与js中绑定触发事件写法上的区别

    html> js中方法名后加括号和不加口号的区别 按钮 var test = function(){ var span = document.createElement("span&q ...

  6. JS中RHS引用和LHS引用的区别

    平时做前端开发的时候可能接触不到LHS和RHS这两个名词,但是它却是js中最基础的概念,表示两种变量的查找方式,在js代码中无处不在.我们来举个例子说明一下LHS和RHS. var a = 1:  我 ...

  7. JS中对象用点(.)和方括号([])的区别

    在JS中,我们取对象的属性值一般都是用点(.)表示,如Person.name,Person.age,但是有时候也会遇到Person[name]这种,那么他们具体有什么区别呢? 用例子展示: 1.中括号 ...

  8. 前端开发:JS中let、var和const的区别详解

    前言 前端开发过程中,JS声明变量的关键字想必开发者都不陌生,而且使用的频率在前端开发过程中也是数一数二的.JS中声明变量的关键字有三个let.var和const,但是三者的使用对比和区别也是非常重要 ...

  9. JS中等于与严格等于之间的区别

    浅谈JS的( == )与( === )的区别 [ == ] 为等于运算符 ,[=== ] 为严格等于运算符.两个都是用来比较两边的值是否相等.相等则返回ture,不相等则返回false. [==]运算 ...

最新文章

  1. mysql slave 线程 简书_MySQL主从复制(Master-Slave)实践
  2. RedHat7.0更新yum源(踩过的坑)
  3. NYOJ 300 hdu 2276 Kiki Little Kiki 2 (矩阵快速幂)
  4. 画图讲解SQL join 语句
  5. 芯片破壁者:硅谷“摩西”肖克利和他的半导体实验室
  6. 集成运算放大器对输入级的要求
  7. 1对1直播源码开源系统,一对一视频聊天系统成品源码
  8. 什么是代理服务器,代理ip池芝麻
  9. PHP安装rabbitmq扩展
  10. css完美参考手册 chm,css4.0参考手册
  11. 【it修真院】代码生成
  12. 使用BMFont工具来精简字体库
  13. CSS线性渐变和径向渐变详解
  14. 实时采集福利彩票的中奖信息和最新开奖信息-JAVA
  15. UR机器人(一):坐标系及位姿表示方法
  16. 服务价值 100 万亿美元的行业,是时候收购市场领导者英伟达了
  17. 硬盘初始化分区选择GPT还是MBR?
  18. python控制已经打开的浏览器_使用python+selenium控制手工已打开的浏览器
  19. java is a_is_a()
  20. Python实战案例,pywifi模块,Python暴力破译附近局域网WiFi密码

热门文章

  1. 给ERP项目管理团队的八点建议
  2. attention retain_retain
  3. 2019-07-13-mqtt-mosquitto系列14之保留消息retain
  4. J.哭泣的阿木木(线段树)
  5. 如何清除XP的开机用户登录密码
  6. 无线传感器网络 与 OMNET++学习笔记(一)
  7. 《程序员》杂志上的一篇文章涉嫌抄袭
  8. Java HashMap
  9. 国内常用免费邮件POP3和SMTP设置
  10. mysql timestamp比较大小_MySQL中的datetime与timestamp比较