数字类型详解

简介: 【9月更文挑战第01天】

JavaScript 字面量:数字类型详解

在 JavaScript 中,字面量是指在代码中直接表示的固定值,如数字、字符串、布尔值等。数字字面量是表示数值的字面量,可以是整数、小数或科学计数法表示的数。

整数字面量

整数字面量是没有小数点的数值,可以是正数或负数。

let age = 18; // 正整数
let count = -5; // 负整数

小数字面量

小数字面量包含小数点,表示分数。

let price = 19.99; // 正小数
let discount = -0.2; // 负小数

科学计数法字面量

科学计数法使用 eE 表示 10 的幂,用于表示非常大或非常小的数值。

let largeNumber = 1.23e5; // 等于 123000
let smallNumber = 4.56e-7; // 等于 0.000000456

二进制和八进制字面量

ES6 引入了二进制和八进制字面量的表示方法。

  • 二进制字面量以 0b0B 开头。
  • 八进制字面量以 0o0O 开头。
let binaryNumber = 0b1010; // 二进制,等于 10
let octalNumber = 0o12; // 八进制,等于 10

特殊数字字面量

JavaScript 中有两个特殊的数字字面量:Infinity-Infinity,分别表示无限大和无限小。

let infinityValue = 1 / 0; // Infinity
let negativeInfinityValue = -1 / 0; // -Infinity

Number 类型的最大安全值和最小安全值

  • Number.MAX_SAFE_INTEGER:表示可以精确表示的最大整数(2^53 - 1)。
  • Number.MIN_SAFE_INTEGER:表示可以精确表示的最小整数(-2^53 + 1)。
let maxSafeInteger = Number.MAX_SAFE_INTEGER; // 9007199254740991
let minSafeInteger = Number.MIN_SAFE_INTEGER; // -9007199254740991

代码示例

以下是一些数字字面量的使用示例:

// 整数字面量
let integer = 42;

// 小数字面量
let decimal = 3.14159;

// 科学计数法字面量
let scientific = 1.2e-10;

// 二进制和八进制字面量
let binaryLiteral = 0b110; // 等于 6
let octalLiteral = 0o14; // 等于 12

// 特殊数字字面量
let infinity = Infinity;
let negativeInfinity = -Infinity;

// Number 类型的安全值
let safeMax = Number.MAX_SAFE_INTEGER;
let safeMin = Number.MIN_SAFE_INTEGER;

// 输出示例
console.log(integer, decimal, scientific, binaryLiteral, octalLiteral, infinity, negativeInfinity, safeMax, safeMin);
目录
相关文章
|
存储 供应链 大数据
医院HIS基层卫生健康云综合管理系统源码
护士站: 特点:住院护士站管理系统是住院护理的中心所在,它可实现病房的床位统一管理、医嘱校对、医嘱的执行、医嘱终止、重整医嘱、医嘱查询、健康日志、患者病历首页查询,转科、出院申请,病人在住院期间的信息管理、病房分类管理、对病房、患者信息、患者费用等相关信息的查询。
258 1
|
存储 算法 数据库
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
685 0
|
Ubuntu Linux 开发工具
Cubieboard2(四) 系统构建 —— 基于 mainline
Cubieboard2(四) 系统构建 —— 基于 mainline
|
存储 消息中间件 缓存
Redis缓存技术详解
【5月更文挑战第6天】Redis是一款高性能内存数据结构存储系统,常用于缓存、消息队列、分布式锁等场景。其特点包括速度快(全内存存储)、丰富数据类型、持久化、发布/订阅、主从复制和分布式锁。优化策略包括选择合适数据类型、设置过期时间、使用Pipeline、开启持久化、监控调优及使用集群。通过这些手段,Redis能为系统提供高效稳定的服务。
|
机器学习/深度学习 计算机视觉
目标检测笔记(六):如何结合特定区域进行目标检测(基于OpenCV的人脸检测实例)
本文介绍了如何使用OpenCV进行特定区域的目标检测,包括人脸检测实例,展示了两种实现方法和相应的代码。
379 1
目标检测笔记(六):如何结合特定区域进行目标检测(基于OpenCV的人脸检测实例)
|
存储 数据可视化 数据管理
在ArcGIS Pro中使用栅格函数
在ArcGIS Pro中使用栅格函数
607 1
|
网络协议
技术笔记:modbus通讯协议详解
技术笔记:modbus通讯协议详解
761 0
|
数据可视化
Visio绘制时间轴、日程安排图、时间进度图的方法
Visio绘制时间轴、日程安排图、时间进度图的方法
726 1
|
Java
Java异常处理:解释一下异常的传播机制。
Java异常处理:解释一下异常的传播机制。
282 1
|
弹性计算 监控 测试技术
基于Prometheus+Grafana的PolarDB-X监控体系
《PolarDB-X 动手实践》系列第十期,体验如何监控PolarDB-X集群。