001-JS数据类型及判断

JS数据类型及判断

  • 1、数据类型
  • 2、数据类型判断方法
  • 3、JS的假值

1、数据类型

JavaScript 包含 6 中基本数据类型 和 引用类型:
6种基本类型:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol;
引用数据类型:对象(Object)、数组(Array);

2、数据类型判断方法

💡 Tips:null 通过等于自身判断,其他基本类型通过 typeof 判断,引用类型通过 Object.prototype.toString 判断

function judgeType(data) {
  let type = typeof data;
  if (data === null) {
    return 'null';
  }
  if (type === 'object') {
    let typeStr = Object.prototype.toString.call(data).split(' ')[1];
    type = typeStr.slice(0, -1);
  }
  return type;
}

judgeType('123'); // string
judgeType(123); // number
judgeType(true); // boolean
judgeType(null);  // null
judgeType();  // undefined
judgeType(Symbol('name'));  // symbol
judgeType({});  // Object
judgeType([]);  // Array

3、JS的假值

💡 Tips:假值就是布尔转换后为false的值
JavaScript 的假值都有:0、-0、0.0、null、“”、false、undefined、NaN
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/431795.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nginx使用—http基础知识

web访问流程 当我们在客户端通过浏览器输入网址的时候,这时候是访问不到服务器的, 先会去找到DNS解析服务器,DNS解析服务器返回IP地址, 客户端通过http协议向服务端发送请求,服务器响应请求并返回对应的资源给客户端&a…

RS232串口硬件调试

视频链接(1~4) RS232串口硬件调试01---串口理论及报文格式_哔哩哔哩_bilibili RS232串口硬件调试02---示波器抓取串口波形_哔哩哔哩_bilibili RS232串口硬件调试03---串口波形解析_哔哩哔哩_bilibili RS232串口硬件调试04---串口bug如何解决_哔哩哔哩…

Cookie和session 及Web相关工具

一 Cookie (一)介绍 Cookie 又称为"小甜饼”。类型为"小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员…

C++ 创建链表并输出

目录 代码实现 输出结果 代码实现 #include <stdio.h> #include <stdlib.h> //#include <cstdio> //#include <vector> #include<iostream> #include<cstdlib> using namespace std;//定义一个结构体 ListNode的结构 struct ListNode…

保姆教程 Docker 部署微服务项目

大家好&#xff0c;我是奇兵。 文章比较长&#xff0c;请耐心看完&#xff01; 项目上线是每位学编程同学必须掌握的基本技能。之前我已经给大家分享过很多种上线单体项目的方法了&#xff0c;今天再出一期微服务项目的部署教程&#xff0c;用一种最简单的方法&#xff0c;带…

linux无法启动dhcp服务--Failed to start DHCPv4 Server Daemon.错误

linux dhcp服务搭建详细过程请看 linux系统dhcp服务部署 关于dhcp服务无法启动Failed to start DHCPv4 Server Daemon.错误 解决方法&#xff1a;虚拟网络编辑器中的也就是dhcp所要服务的子网ip地址要与dhcp.conf中的服务网段ip一致&#xff08;与上面subnet 192.168.1.0一致…

记录前端面试的一些笔试题(持续更新......)

文章目录 js相关数组去重数组对象去重 实现数组unshift数组扁平化tree型数据扁平化list数据转tree型数据 对象深拷贝防抖/节流函数柯里化函数管道 随便记录一些&#xff0c;面试或者工作中都会用到&#xff0c;实现的方法很多&#xff0c;这里只是一小部分&#xff0c;有更好的…

鸿蒙Harmony应用开发—ArkTS声明式开发(鼠标事件)

在鼠标的单个动作触发多个事件时&#xff0c;事件的顺序是固定的&#xff0c;鼠标事件默认透传。 说明&#xff1a; 从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。目前仅支持通过外接鼠标触发。 onHover onHover(event: …

BUUCTF-Misc-粽子的来历1

题目链接&#xff1a;BUUCTF在线评测 (buuoj.cn) 下载附件给了四个doc文件 用HXD打开看看 将乱码全部改成yy打开 保存后打开&#xff1a; 发现每行的字间距不相同&#xff0c;把大间距设为1小间距设为0试试 100100100001&#xff0c;flag为md5加密的值 最后得到flag{d473ee3d…

【Java JVM】对象回收判断

Java 对象回收判断是程序设计中至关重要的一环。在面向对象的编程中, 合理的对象回收策略直接影响着程序的性能和内存利用效率。 因此, 深入了解和准确判断 Java 对象的回收时机, 不仅可以优化程序的运行性能, 还能有效避免内存泄漏和资源浪费。 本文将简单的分析一下 JVM 中对…

【Java EE 】认识文件与Java文件操作

目录 &#x1f340;认识文件&#x1f338;树型结构组织 和 目录&#x1f338;文件路径&#xff08;Path&#xff09;&#x1f338;其他知识 &#x1f333;Java 中操作文件&#x1f338;File 概述&#x1f33b;属性&#x1f33b;构造方法&#x1f33b;方法 &#x1f338;代码示例…

stm32学习笔记:I2C通信协议原理和软件I2C读写MPU6050

概述 第一块&#xff1a;介绍协议规则&#xff0c;然后用软件模拟的形式来实现协议。 第二块&#xff1a;介绍STM32的iic外设&#xff0c;然后用硬件来实现协议。 程序一现象&#xff1a;通过软件I2C通信&#xff0c;对MPU6050芯片内部的寄存器进行读写&#xff0c;写入到配…

OJ输入问题+准备

写在之前&#xff1a; 发现题目输入是这样的&#xff1a; 我的问题&#xff1a;如何通过空格分割这些输入的字符串并分别保存&#xff01;&#xff01;&#xff08;C语言scanf好解决一点但我选择C....&#xff09; C引入了ostringstream、istringstream、stringstream这三个类…

【无标题】计算机主要应用于哪些领域

科学计算&#xff08;或称为数值计算&#xff09;、数据处理&#xff08;信息管理&#xff09;、辅助工程、生产自动化、人工智能。1、科学计算&#xff08;或称为数值计算&#xff09;&#xff1a;早期的计算机主要用于科学计算。目前&#xff0c;科学计算仍然是计算机应用的一…

计算机组成原理-累加器实验——沐雨先生

一、实验目的 1.理解累加器的概念和作用 2.连接运算器、存储器和累加器&#xff0c;熟悉计算机的数据通路 3.掌握使用微命令执行各种操作的方法。 二、实验要求 1.做好实验预习&#xff0c;读懂实验电路图&#xff0c;熟悉实验元器件的功能特性和使用方法。在实验之前设计…

自动控制原理——根轨迹法

本文中所有的截图都来自于西北工业大学卢京潮教授的ppt&#xff0c;侵删。 根轨迹的基本概念 根轨迹——系统性能指标 举例说明&#xff1a; 在使用根轨迹法时&#xff0c;一般说根轨迹就说说闭环意义上的根轨迹&#xff0c;没有开环根轨迹一说。我们习惯使用首1标准型&#…

【prompt四】Domain Prompt Learning for Efficiently Adapting CLIP to Unseen Domains

motivation 领域泛化(DG)是一个复杂的迁移学习问题,旨在学习未知领域的可泛化模型。最近的基础模型(FMs)对许多分布变化都具有鲁棒性,因此,应该从本质上提高DG的性能。在这项工作中,我们研究了采用视觉语言基础模型CLIP来解决图像分类中的DG问题的通用方法。虽然ERM使用标…

Node.js安装及环境配置详细教程

一、下载Node.js安装包 官网下载链接[点击跳转] 建议下载LTS版本&#xff08;本教程不适用于苹果电脑&#xff09; 二 、安装Node.js 2.1 下载好安装包后双击打开安装包&#xff0c;然后点击Next 2.2 勾选同意许可后点击Next 2.3 点击Change选择好安装路径后点击Next&#…

Ubuntu下anaconda迁移到另外的目录

文章目录 前言一、原因二、迁移1.复制到指定迁移目录2. 修改复制后的anaconda3 内容3. 修改对应搭建的每个环境的pip4.修改系统配置文件&#xff0c;使得设置生效 三、实际测试四、总结 前言 好记性不如烂笔头&#xff0c;简单的记录下在ubantu18.04下迁移anaconda的目录 一、…

SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验

在前段时间的开发工作中&#xff0c;接手了一个很简单&#xff0c;很普通的开发任务。 要求实现一个单表的基础数据的批量导入功能。 评估下来&#xff0c;用户每次批量导入的数据量也就几千条&#xff0c;也不大。 是不是很简单&#xff0c;没有骗你们吧。但是呢&#xff0…