js 使用Object.toString.call()判断数据类型

ops/2024/12/23 7:55:34/

使用Object.toString.call()判断数据类型
使用Object.toString.call()可以用来判断:

判断基本数据类型
判断复杂数据类型
判断null和undefined
需要注意的是,Object.prototype.toString 方法返回的字符串格式为 “[object 数据类型]”,其中数据类型和 JavaScript 中的数据类型名称一致。此外,由于该方法是 Object 类型的原型方法,因此需要通过 call 方法来调用,确保 this 指向正确。

javascript">const num2 = 0;
console.log('object.toString.call(num2)',Object.prototype.toString.call(num2))//[object Number]const str1 = '卡卡西'
console.log('object.toString.call(str1)',Object.prototype.toString.call(str1))// [object String]const obj2 = {name:'佐助',age:'23'}
console.log('object.toString.call(obj2)',Object.prototype.toString.call(obj2))//[object Object]const arr2 = [1,2,3,4];
console.log('object.toString.call(arr2)',Object.prototype.toString.call(arr2))//[object Array]const nullValue2 = null
console.log('object.toString.call(nullValue2)',Object.prototype.toString.call(nullValue2))//[object Null]class Student {name;constructor(name) {this.name = name;}}const student1 = new Student('周周');
console.log('object.toString.call(student1)',Object.prototype.toString.call(student1))// [object Object]class Student2 {name;constructor(name) {this.name = name;}toString(){console.log(this.name)}// 重写 Symbol.toStringTag 属性get [Symbol.toStringTag]() {return 'Student2';}
}const student2 = new Student2('周周')
console.log('object.toString.call(student2)',Object.prototype.toString.call(student2))// [object Student2]

http://www.ppmy.cn/ops/2017.html

相关文章

分布式快照算法 Chandy-Lamport

0. 引言 上一篇文章最后说到 Spark 的 Structured Streaming 的 Continuous Processing Mode 的容错处理使用了分布式快照(Distributed Snapshot)算法 Chandy-Lamport 算法,那么分布式快照算法可以用来解决什么问题呢? A snapsho…

黄金投资对于普通人来说难吗?

黄金,自古以来就被视作财富的象征。在投资市场上,黄金投资更是备受关注的话题。然而,对于普通人来说,黄金投资是否真的难呢?实际上,只要掌握了正确的方法和策略,普通人完全有可能在黄金投资中取…

注意力机制基本思想(一)

​🌈 个人主页:十二月的猫-CSDN博客🔥 系列专栏: 🏀《深度学习基础知识》 相关专栏: ⚽《机器学习基础知识》 🏐《机器学习项目实战》 🥎《深度学习项目实战…

【LeetCode每日一题】706. 设计哈希映射

文章目录 [706. 设计哈希映射](https://leetcode.cn/problems/design-hashmap/)思路:链地址法代码:思路:静态数组代码:思路:开放地址法代码: 706. 设计哈希映射 思路:链地址法 代码&#xff1a…

Java 算法篇-深入了解 BF 与 KMP 算法

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 BF 算法概述 1.1 BF 算法实际使用 2.0 KMP 算法概述 2.1 KMP 算法实际使用 2.2 相比于 BF 算法实现,KMP 算法的重要思想 2.3 为什么要这样设计&#x…

查看apk是64位32位(三种方法)

通过检查APK文件,你可以确定该APK支持的架构类型,包括它是为64位(例如arm64-v8a、x86_64)还是32位(例如armeabi-v7a、x86)架构准备的。Android应用程序可以包含多个不同的二进制文件,每个文件针…

基于Python网络招聘数据可视化分析系统的设计与实现

基于Python网络招聘数据可视化分析系统的设计与实现 Design and Implementation of Python-based Network Recruitment Data Visualization Analysis System 完整下载链接:基于Python网络招聘数据可视化分析系统的设计与实现 文章目录 基于Python网络招聘数据可视化分析系统的…

Flutter第十弹 ScrollView滚动组件

目标: 1)滚动组件的特性? 2)有哪些常用的滚动组件? 一、基础滚动组件 Flutter有许多内置的小部件可以自动滚动,还提供了各种小部件,您可以自定义这些小部件来创建特定的滚动行为。 1.1 Scr…