JavaScript-变量类型判断

news/2023/11/29 18:17:11

更多内容,请访问:

声明和定义区别
JavaScript-变量类型
JavaScript-如何使用变量
JavaScript-undefined和null区别

变量类型判断

  1. typeof

常用于基础数据类型判断:

typeof 123 === 'number'; // true
typeof true === 'boolean'; // true 
typeof '123' ===  'string'; // true
typeof undefined === 'undefined'; // true

但是要注意:

typeof null === 'object' // true

对于复杂数据类型判断,除了function之外,其他都返回object

const fn = () => {}
typeof fn === 'function'; // true
typeof new Date() === 'object'; // true
  1. instanceof

instanceof主要用于区分引用数据类型

instanceof运算符:用于检测构造函数的prototype属性是否出现在某个实例对象的原型链上

比如:

const obj = {};
obj instanceof Object; // true

返回ture原因:

首先我们可以列出实例对象obj的原型链:

obj.__proto__ === Object.prototype;
Object.prototype.__proto__ === null;

从实例对象obj的原型链中可以看到Object.prototype是在obj对象的原型链上,所以obj instanceof Object返回true。

  1. constructor

构造函数

当解析函数的时候(还未执行),此时会在函数的原型对象上添加一个constructor方法,指向当前的函数。

例如:

function F() {};
const f = new F();
f.constructor === F; // true

注意:只有对象才能调用constructor,其他基础数据类型不能使用

  1. Object.prototype.toString.call
Object.prototype.toString.call({}) === '[object Object]'; // true
Object.prototype.toString.call([]) === '[object Array]'; // true
Object.prototype.toString.call(123) === '[object Number]'; // true
Object.prototype.toString.call(() => {}) === '[object Function]'; // true
Object.prototype.toString.call(null) === '[object Null]'; // true
Object.prototype.toString.call(undefined) === '[object Undefined]'; // true
Object.prototype.toString.call(true) === '[object Boolean]'; // true

https://www.xjx100.cn/news/3092570.html

相关文章

基于非链式(数组)结点结构的二叉树的前(先)序输入创建以及遍历

点击链接返回标题->基于非链式(数组)结点结构的二叉树的层序、先序、中序、后序输入创建以及层序、先序、中序、后序输出-CSDN博客 我们采用递归的思想,不断去找空结点(值为-1的结点),在找空结点这个过程中,将输入的…

golang学习笔记——接口和继承比较1

继承 Go 语言的设计之初,就不打算支持面向对象的编程特性,因此 Go 不支持面向对象的三大特性之一——继承。但是 Go 可以通过组合的思想去实现 “继承”。继承是面向对象的三大特性之一,继承是从已有的类中派生出新的类,新的类能…

UEC++ day7

敌人NPC机制 敌人机制分析与需求 新建一个character类来作为敌人,直接建蓝图设置骨骼网格,因为敌人可能多种就不规定死,然后这个敌人肯定需要两个触发器,一个用于大范围巡逻,一个用于是否达到主角近点进行攻击 注意我…

ChatGPT/GPT4科研实践应用与AI绘图技术及论文高效写作

2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

详解Python安装requests库的实例代码

文章目录 前言基本用法基本的get请求带参数的GET请求解析json关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前…

2021年03月 Scratch(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 小猫在沙漠中旅行好不容易找到了一杯水,初始位置如下图所示,下面哪个程序可以帮助它成功喝到水? A: B: C: D:

ES学习看这一篇文章就够了

ES学习看这一篇文章就够了 ES学习看这一篇文章就够了-CSDN博客

webpack 创建typescript项目

【视频链接】尚硅谷TypeScript教程(李立超老师TS新课) 创建webpack 项目 IDE:webstorm 新建一个空的项目运行npm init初始化项目目录结构 1. 安装 webpack:构建工具webpack-cli: webpack的命令行工具typescript&am…