当前位置: 首页 > article >正文

JS Typeof 运算符

JS Typeof 运算符

JavaScript 有三种方法,可以确定一个值到底是什么类型。而我们现在需要接触到的就是 typeof。

基础概念与核心规则

typeof 是 JavaScript 中用于检测变量或表达式数据类型的一元运算符,返回小写字符串形式的类型标识。其行为遵循 ECMAScript 规范中的以下核心规则:

1.基本语法形式

typeof 运算符有两种常见写法,本质上无功能差异,但括号使用会影响优先级判断:

  1. 无括号写法:直接作用于右侧的单个变量或字面量,类似数学中的负号(如 -5),仅关联最近的右侧操作数
var name = "Alice";
console.log(typeof name);   // →"string"
  1. 带括号写法(易误解):括号是分组运算符,而非函数调用符号。实际等价于 typeof (x),括号仅用于包裹表达式。
console.log(typeof 5 +5)    // → “number5”(优先级问题)
console.log(typeof (5 +5))  // → “string” (先计算表达式)

这段代码主要目的是通过typeof运算符来检查变量或表达式的类型,并将其结果与字符串进行连接,然后通过console.log输出到浏览器的控制台。

  • console.log(typeof 5+“5”):在这个例子中,typeof 会优先检测 5
    的类型,返回字符串"number",再与字符串 “5” 连接起来。因此,最终的结果是字符串"number5"。
  • console.log(typeof (5+“5”)):在JavaScript中,当一个数字和一个字符串进行加法运算时,数字会被转换为字符串,然后进行字符串连接。因此,5 + “5"的结果是字符串"55”。所以typeof “55"会返回字符串"string”。

2.优先级规则

运算符优先级表(节选)

优先级 运算符类型 示例
17 分组运算符 ( )
16 typeof typeof x
15 乘法/加法等 +,*,/
2 逻辑与/或 &&~
  • 场景1:混合算术运算
typeof 5 + "5"  
// 等效于 (typeof 5) + "5" → "number5"
 
typeof (5 + "5")  
// 先计算 5 + "5" → "55",再 typeof → "string"
  • 场景2:逻辑表达式
	typeof x === "undefined" || "default"  
	// 等效于 (typeof x === "undefined") || "default"
 
	typeof (x === "undefined" || 

http://www.kler.cn/a/598872.html

相关文章:

  • 系统设计类问题回答模板
  • SQL Server行转列操作及PIVOT运算符
  • 算法基础篇(1)(蓝桥杯常考点)
  • FPGA时钟约束
  • 基于Matlab实现语音识别算法(源码+数据)
  • 【Linux文件IO】通过文件IO把bmp图片显示到Linux开发板的实现
  • 基于springboot的新闻推荐系统(045)
  • 【NLP 42、实践 ⑪ 用Bert模型结构实现自回归语言模型的训练】
  • 人脸表情识别系统分享(基于深度学习+OpenCV+PyQt5)
  • Spring Boot框架中常用注解
  • 【mysql】同一个字段,字符串相加
  • 从Oracle到OceanBase数据库迁移:全方位技术解析
  • 如何让Go 的regexp包支持 (?!...) 这样的 Perl 语法?
  • PHP转GO Day3 函数定义与包管理实践(创建数学工具包)
  • 2.1.项目管理前言
  • 【Linux】:守护进程化
  • 【JavaEE】Mybatis基础使用注解 增删改查操作
  • DeepSeek政务应用场景与解决方案【清华大学最新版】
  • 996引擎-接口测试:背包
  • 开源AI大模型赋能私域流量:S2B2C场景下品牌文化建构的智能路径研究