JavaScript中数据类型

news2024/11/26 23:41:36

对象和原始值

● 在JavaScript中,有两种主要类型的数据,要不是原始值,要不是对象;
在这里插入图片描述

7种原始数据类型

1.数字

浮点数用于小数和整数。let age = 23;

2.字符串

一系列字符的序列,用于文本。let firstName = “IT知识一享”;

3.布尔值

逻辑类型,只能为 true 或 false。用于进行决策"。 let fullAge = true;

4.未定义

变量尚未定义时取的值(空值)let children;

5.Null

也标识空值

6.Symbol(ES2015)

唯一且不可更改的值。暂时没有用途。
在 ES2015 中引入了 Symbol,这是一种新的数据类型,用于表示唯一的标识符。每个 Symbol 值都是唯一的,因此它们非常适合用于创建对象的属性名称

7.Biglnt (ES2020):

比 Number 类型可以容纳的更大的整数。"
在 ES2020 中,引入了 BigInt 类型,用于表示比 JavaScript 中默认 Number 类型更大的整数。由于 Number 类型的范围有限,因此无法准确地表示非常大或非常小的整数。BigInt 类型通过解决这个问题,使得 JavaScript 能够处理任意大小的整数。
以下是一个示例:

javascript复制代码const x = 1234567890123456789012345678901234567890n;
const y = 9876543210987654321098765432109876543210n;
console.log(x + y); // 输出 11111111101111111110111111111011111111100n

在上面的示例中,我们首先声明了两个 BigInt 类型的变量 x 和 y,它们分别存储了非常大的整数。然后,我们使用加法运算符将它们相加,并将结果输出到控制台上。
需要注意的是,在使用 BigInt 类型时,必须在数字后面添加 n 后缀,以告诉 JavaScript 解释器该数字是一个 BigInt 类型的值。此外,还需要使用 BigInt 类型的特定方法和运算符来执行计算,而不能直接使用传统的 Number 类型的方法和运算符。
BigInt 类型通常用于需要处理非常大的整数的应用程序,如密码学、数据加密和数字签名等。

JavaScript 是一种动态类型语言,这意味着在声明变量时,我们无需显式地指定变量的数据类型,而可以直接将值赋给变量。JavaScript 引擎会根据值的数据类型自动判断变量的数据类型,并相应地进行处理。

let javascriptIsFun = true;
console.log(javascriptIsFun);

JavaScript会自动把变量判断为布尔的数据类型;
在这里插入图片描述

● 我们还可以通过typeof看下值的数据类型

let javascriptIsFun = true;
console.log(javascriptIsFun);

console.log(typeof true);
console.log(typeof javascriptIsFun);
console.log(typeof 23);
console.log(typeof "IT知识一享");

在这里插入图片描述

● 我们还可以给变量重新赋值,而且不需要给他指定的数据类型,

JavaScript可以自动判断
let javascriptIsFun = true;
console.log(javascriptIsFun);

// console.log(typeof true);
console.log(typeof javascriptIsFun);
console.log(typeof 23);
// console.log(typeof "IT知识一享");
javascriptIsFun = "IT知识一享";
console.log(typeof javascriptIsFun);

在这里插入图片描述

● 接下来,我们来看看未定义的数据类型

let itShare;
console.log(itShare);
console.log(typeof itShare);

在这里插入图片描述

这标识它的值和数据类型都是undefined,当然,在后续的代码中,我们也可以给未定义的值赋值

let itShare;
console.log(itShare);
console.log(typeof itShare);

itShare = "IT知识一享";
console.log(itShare);
console.log(typeof itShare);

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网最全整理,Allure集成Jenkins自动化测试实战(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Allure插件安装 …

libbpf-bootstrap 开发指南:概念与如何安装

目录 概念 如何安装& 使用 git 地址 使用git clone 下载代码 安装依赖环境 安装libbpf 编译example 概念 libbpf-bootstrap 是一个项目,旨在帮助开发者快速启动和开发使用 eBPF (Extended Berkeley Packet Filter) 和 libbpf 的程序。eBPF 是一种可以在…

2023.07.16 学习周报

文章目录 摘要文献阅读1.题目2.问题3.介绍4.Problem definition5.Method5.1 Feature Extractor5.2 Synthetic Node Generation5.3 Edge Generator5.4 GNN Classifier5.5 Optimization Objective5.6 算法 6.实验6.1 数据集6.2 基线6.3 实验结果 7.结论 数学建模1.欧式距离2.切比…

0130 物理层1

目录 2.物理层 2.1通信基础 2.1部分习题 2.物理层 2.1通信基础 2.1部分习题 1.下列说法正确的是() A.信道与通信电路类似,一条可通信电路往往包含一个信道 B.调制是把模拟数据转换为数字信号的过程 C.信息传输速率是通信信道上每秒传…

SIP支持的传输协议

一、SIP支持的传输协议-UDP、TCP、TLS SIP是一个应用层的会话协议,与一般协议不同的是,SIP协议可以同时支持各种传输协议。 SIP支持UDP传输:UDP是一个无连接的协议,且不提供可靠性。在UDP上建立SIP连接存在不可靠性。 SIP…

【K210模块】使用UART模块发送和接收数据

官方案例链接 【K210模块】使用UART模块发送和接收数据 官方案例链接 一、代码部分1、添加转换句(1)字节data 转字符串① 添加了转换语句② 没有添加转换语句 (2)字符串str 转 字节data 2、三种方式的比较,K210发送到S…

图解Vit 2:Vision Transformer——视觉问题中的注意力机制

文章目录 Patch Embedding 回顾Seq2Seq中的attentionTransformer中的attention Patch Embedding 回顾 上节回顾 Seq2Seq中的attention 在Transformer之前的RNN,其实已经用到了注意力机制。Seq2Seq。 对于Original RNN,每个RNN的输入,都是对…

vue3项目创建(vite3+ts+elementui-plus)

文章目录 1.创建工程 1.创建工程 目的:vue3vitets 安装依赖,安装vite的工具 Vite下一代的前端工具链为开发提供极速响应v4.3 npm install -g create-vite创建工程 create-vite font-userui --template vue-ts –template vue-ts 后面的是配置模板&#…

CS 144 Lab Zero

CS 144 Lab Zero 环境搭建使用socket写一个网络程序In-memory reliable byte stream 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab 0 对应的PDF: Lab Checkpoint 0: networking warmup Lab 0 会省去Telnet部分内容。 环境搭建 Run Ubuntu version 22.10, then ins…

基于linux下的高并发服务器开发(第二章)- 2.3 进程创建

/*#include <sys/types.h>#include <unistd.h>pid_t fork(void)函数的作用&#xff1a;用于创建子进程返回值&#xff1a;fork()的返回值会返回两次。一次是在父进程中&#xff0c;一次是在子进程中在父进程中返回创建的子进程的ID&#xff0c;在子进程中返回0如何…

《微服务架构设计模式》第十三章 微服务架构的重构策略

微服务架构的重构策略 一、重构到微服务需要考虑的问题1、为什么重构2、重构形式3、重构策略 二、设计服务与单体的协作方式三、总结 一、重构到微服务需要考虑的问题 1、为什么重构 单体地狱造成的业务问题&#xff1a; 交付缓慢充满故障的软件交付可扩展性差 2、重构形式 …

itheima苍穹外卖项目学习笔记--Day6: 微信登录 / 商品浏览

Day6 a. HttpClientGET方式请求&#xff1a;POST方式请求&#xff1a; b. 微信登录 a. HttpClient HttpClient 是Apache Jakarta Common 下的子项目&#xff0c;可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且它支持 HTTP 协议最新…

chrome插件reading-time开发

本插件开发文档翻译于Google官方文档Chrome Extensions Tutorial: Reading time - Chrome Developers 一、reading-time reading-time项目的功能是 将预期的阅读时间添加到任何Chrome extension 和 Chrome Web Store documentation 页面里面 通过这个项目&#xff0c;我们可以…

拓扑序列及其排序

目录 一、拓扑序列及其排序的相关概念拓扑序列的定义拓扑序列的性质出度、入度、度数拓扑排序 二、拓扑序列及其排序的应用有向图的拓扑序列代码实现 一、拓扑序列及其排序的相关概念 拓扑序列的定义 拓扑序列是对一个 有向无环图(DAG)&#xff08;也称为拓扑图&#xff09;而…

SpringBoot整合gRPC -- 简单明了

项目结构 pom引入(parent中引入即可) <properties><net-devh-grpc.version>2.14.0.RELEASE</net-devh-grpc.version><os-maven-plugin.version>1.6.0</os-maven-plugin.version><protobuf-maven-plugin.version>0.5.1</protobuf-mave…

Python绘制一个圆

代码 import matplotlib.pyplot as plt import numpy as npradius 10 # 半径的长度 center np.array([0,0]) # 圆心的坐标 t np.linspace(0, 2 * np.pi, 100) x center[0] radius * np.cos(t) y center[1] radius * np.sin(t)plt.figure(figsize(5,5)) plt.plot(x,y) p…

C# Modbus通信从入门到精通(5)——Modbus RTU(0x03功能码)

1、03(0x03)读保持寄存器 使用该功能码能从远程地址中读取1到125个保持寄存器的值,每个保持寄存器都占两个字节,读取的保持寄存器数量由主站读取时指定。 2、发送报文格式 更详细的格式如下: 从站地址+功能码+起始地址高位+起始地址低位+寄存器数量高位+寄存器数量低位+…

Redis进阶源码 - 主流程源码

redis底层是C语言编写的一个可执行程序&#xff0c;主方法为server.c 中main方法 主要包括&#xff1a;从初始化 到 EventLoop整个流程源码内容介绍 画的分析图太大了&#xff0c;需要的直接下载看吧.....想提醒大家的是&#xff0c;看源码时一定要带着目标去看&#xff0c;比…

《微服务架构设计模式》第十一章 开发面向生产环境的微服务应用

内容总结自《微服务架构设计模式》 开发面向生产环境的微服务应用 一、开发安全的服务1、安全性概述2、单体应用安全性3、微服务应用安全性 二、如何使用外部化配置模式三、如何使用可观测性模式四、使用微服务基底模式开发服务1、使用微服务基地2、从微服务到服务网格 五、总结…

前端开发面试题及答案整理(合集)

前端开发面试题及答案 1、对Web标准以及W3C的理解与认识? 答&#xff1a;标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链CSS和JS脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组…