JS 中 判断数据类型 typeof详解
typeof 可用来获取检测变量的数据类型
语法
typeof operand
typeof(operand)
参数
operand 一个表示对象或原始值的表达式,其类型将被返回。
描述
下表总结了 typeof 可能的返回值。有关类型和原始值的更多信息,可查看
| 类型 | 结果 |
|---|---|
| Undefined | "undefined" |
| Null | "object" (见下文) |
| Boolean | "boolean" |
| Number | "number" |
| BigInt | "bigint" |
| String | "string" |
| Symbol (ECMAScript 2015 新增) | "symbol" |
| 宿主对象(由 JS 环境提供) | 取决于具体实现 |
| Function 对象 (按照 ECMA-262 规范实现 [[Call]]) | "function" |
| 其他任何对象 | "object" |
// 数值 number
console.log(typeof 37);
console.log(typeof 3.14);
console.log(typeof(42));
console.log(typeof Math.LN2);
console.log(typeof Infinity);
console.log(typeof Number(1)); //Number()函数 会尝试把参数解析成数值
console.log(typeof NaN); //尽管它是 "Not-A-Number" (非数值) 的缩写
// 字符串 string
console.log(typeof '');
console.log(typeof 'bla');
console.log(typeof `template literal`);
console.log(typeof '1'); //注意内容为数字的字符串仍是字符串
console.log(typeof(typeof 1)); //总是返回一个字符串
console.log(typeof String(1)); //String() 函数把对象的值转换为字符串 将任意值转换为字符串,比 toString 更安全
// 布尔值 boolean
console.log(typeof true);
console.log(typeof false);
console.log(typeof Boolean(1)); //Boolean() 会基于参数是真值还是虚值进行转换
console.log(typeof !!(1)); //两次调用 ! (逻辑非) 操作符相当于 Boolean()
// Symbols symbols
console.log(typeof Symbol());
console.log(typeof Symbol('foo'));
console.log(typeof Symbol.iterator);
console.log("-----------------------------------------");
// Undefined undefined
console.log(typeof undefined);
console.log(typeof declaredButUndefinedVariable);
console.log(typeof undeclaredVariable);
// 对象 object
console.log(typeof {
a: 1
});
console.log(typeof [1, 2, 4]);
console.log(typeof new Date());
console.log(typeof /regex/); // 历史结果请参阅正则表达式部分
console.log("-----------------------------------------");
// 函数 function
console.log(typeof
function() {});
console.log(typeof class C {});
console.log(typeof Math.sin);
null
// JavaScript 诞生以来便如此
typeof null === 'object';
使用 new 操作符
// 除 Function 外的所有构造函数的类型都是 'object'
var str = new String('String');
var num = new Number(100); typeof str; // 返回 'object'
typeof num; // 返回 'object' var func = new Function(); typeof func; // 返回 'function'
语法中的括号
// 括号有无将决定表达式的类型。
var iData = 99; typeof iData + ' Wisen'; // 'number Wisen'
typeof (iData + ' Wisen'); // 'string'
JS 中 判断数据类型 typeof详解的更多相关文章
- js中判断数据类型的四种方法总结
js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...
- JS中的event 对象详解
JS中的event 对象详解 JS的event对象 Event属性和方法:1. type:事件的类型,如onlick中的click:2. srcElement/target:事件源,就是发生事件的 ...
- js中鼠标滚轮事件详解
js中鼠标滚轮事件详解 (以下内容部分内容参考了http://adomas.org/javascript-mouse-wheel/ ) 之前js 仿Photoshop鼠标滚轮控制输入框取值中已使用 ...
- js中中括号,大括号使用详解
js中中括号,大括号使用详解 一.总结 一句话总结:{ } 是一个对象,[ ] 是一个数组 1.js大括号{}表示什么意思? 对象 { } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或 ...
- JS中判断数据类型的几种方法
1⃣️首先我们来了解一下js中的数据类型 1.基本数据类型:Undefined.Null.Boolean.Number.String(值类型) 2.复杂数据类型:Object(引用类型) (值类型和引 ...
- js入门 关于js属性及其数据类型(详解)
1. js的本质就是处理数据.数据来自于后台的数据库. 所以变量就起到一个临时存储数据的作用. ECMAScript制定了js的数据类型. 数据类型有哪些? 1. 字符串 String 2. 数字 ...
- js中判断数据类型的4中方法
注意: js中数据类型有7种(number, boolean, string, null, undefined, object, Symbol(es6新增)) 原始数据类型: number, stri ...
- JS中的this对象详解
JS中this关键字很常见,但是它似乎变幻莫测,让人抓狂.这篇文章就来揭示其中的奥秘. 借助阮一峰老师的话:它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.这句话看似平常,可是要非常注意 ...
- JS中的this用法详解
随着对js的深入学习和使用,你会发现它里面包含了很多令人困惑的机制,比如对象.闭包.原型链继承等等,而这其中肯定包含令你现在或者曾经费解的this,如果你不把心一横,花点时间还真不明白这个this的用 ...
随机推荐
- CSS权重的进制问题
这是复习篇的第一个知识点,(CSS权重进制在IE6为256,后来扩大到了65536.而现代浏览器则采用更大的数量)在说这个知识点之前我们先来看一个例子 <!DOCTYPE html> &l ...
- Python3---标准库---urllib
前言 该文章主要说明Python3 标准库urllib的使用. 修改时间:20191216 修改时间:20191217 修改时间:20191218 添加urllib.parse.urlencode,u ...
- .Net Core权限认证基于Cookie的认证&授权.Scheme、Policy扩展
在身份认证中,如果某个Action需要权限才能访问,最开始的想法就是,哪个Action需要权限才能访问,我们写个特性标注到上面即可,[TypeFilter(typeof(CustomAuthorize ...
- Android Service 启动流程
执行顺序 : startService -> bindService -> unbindService -> stopService 回调的结果为: 执行顺序 : startServ ...
- 《数据挖掘导论》实验课——实验二、数据处理之Matplotlib
实验二.数据处理之Matplotlib 一.实验目的 1. 了解matplotlib库的基本功能 2. 掌握matplotlib库的使用方法 二.实验工具: 1. Anaconda 2. Numpy, ...
- css3中calc、vw、vh、vmin、vmax 属性的应用及兼容性详解
一. calc()的使用什么是calc()? calc()从字面我们可以把他理解为一个函数function.其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定 ...
- Go module的两个代理源和设置方法
Go module的两个代理源 阿里云 https://mirrors.aliyun.com/goproxy/ 使用帮助 1.使用go1.11以上版本并开启go module机制 2.导出GOPROX ...
- css的伪元素 ::after ::before 和 图标字体的使用
浅谈css的伪元素::after和::before css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和 ...
- 图解Java常用数据结构
最近在整理数据结构方面的知识, 系统化看了下 Java 中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于 jdk8, 可能会有些特性与 jdk7 之前不相同, 例如 LinkedList ...
- JeeSite | 保存信息修改记录
需求点 在很多场景中信息是不能轻易被修改的,修改时要么需要具备权限,要么需要审批,但是无论是哪种方式,修改前后的数据都是需要留有“案底”的,也就是说关键的信息被修改后是有修改记录的,一般修改记录会记录 ...