JavaScript中的布尔类型与数字类型详解

简介: JavaScript中的布尔类型与数字类型详解

在JavaScript中,布尔类型和数字类型是两种基本的数据类型,它们在程序中扮演着重要的角色。本文将详细介绍这两种类型及其用法。

布尔类型(Boolean)

布尔类型有两个可能的值:truefalse。这两个值代表逻辑上的真和假,它们与数值类型是不同的,因此true不等于1false不等于0

let found = true;
let lost = false;


布尔值字面量truefalse是区分大小写的。这意味着TrueFalse(以及其他大小写混写形式)是有效的标识符,但它们不是布尔值。

JavaScript中的所有其他类型都有相应的布尔值等价形式。要将一个其他类型的值转换为布尔值,可以使用Boolean()函数。

let message = "Hello world! ";
let messageAsBoolean = Boolean(message); // true

下表展示了不同类型的值转换为布尔值的结果:

类型 转换为true 转换为false
String 非空字符串 空字符串
Number 非零数值 0 或 NaN
Object 任意对象 null
Undefined N/A undefined

数字类型(Number)

JavaScript中的Number类型使用IEEE 754格式表示整数和浮点值。数字类型有不同的字面量格式。

let intNum = 55;  // 整数

八进制字面量以0开头,后跟八进制数字(0-7)。如果包含超出范围的数字,则忽略前缀0,按十进制处理。

let octalNum1 = 070;  // 八进制的56
let octalNum2 = 079;  // 无效的八进制值,按79处理
let octalNum3 = 08;   // 无效的八进制值,按8处理

十六进制数值前缀为0x,后跟十六进制数字(0-9和A-F),字母大小写均可。

let hexNum1 = 0xA;  // 十六进制10
let hexNum2 = 0x1f; // 十六进制31

浮点数值可以用小数点表示,也可以使用科学计数法。

let floatNum1 = 1.1;
let floatNum2 = 0.1;
let floatNum3 = .1;  // 有效,但不推荐
let floatNum = 3.125e7; // 等于31250000

有一个特殊的数值NaN,表示“不是数值”(Not a Number),用于表示操作失败时的结果。

console.log(0/0);     // NaN
console.log(-0/+0);   // NaN

JavaScript提供了isNaN()函数来判断一个值是否为NaN

console.log(isNaN(NaN));      // true
console.log(isNaN(10));       // false,10 是数值
console.log(isNaN("10"));     // false,可以转换为数值10
console.log(isNaN("blue"));   // true,不可以转换为数值
console.log(isNaN(true));     // false,可以转换为数值1

有3个函数可以将非数值转换为数值:Number()parseInt()parseFloat()Number()是转型函数,适用于任何数据类型parseInt()parseFloat()主要用于将字符串转换为数值。

let num1 = Number("Hello world! ");  // NaN
let num2 = Number("");               // 0
let num3 = Number("000011");         // 11
let num4 = Number(true);             // 1

parseInt()函数专注于字符串是否包含数值模式,忽略字符串开头的空格,并从第一个非空格字符开始转换。

let num1 = parseInt("1234blue");  // 1234
let num2 = parseInt("");          // NaN
let num3 = parseInt("0xA");       // 10,解释为十六进制整数
let num4 = parseInt(22.5);        // 22
let num5 = parseInt("70");        // 70,解释为十进制值
let num6 = parseInt("0xf");       // 15,解释为十六进制整数

parseFloat()函数的工作方式与parseInt()类似,从字符串的开始位置检测每个字符,直到字符串末尾或遇到无效的浮点数值字符。

let num1 = parseFloat("1234blue");  // 1234,按整数解析
let num2 = parseFloat("0xA");       // 0
let num3 = parseFloat("22.5");      // 22.5
let num4 = parseFloat("22.34.5");  // 22.34
let num5 = parseFloat("0908.5");   // 908.5
let num6 = parseFloat("3.125e7");  // 31250000

通过这些示例,我们可以看到JavaScript中的布尔类型和数字类型是如何处理和转换的。这些基础知识对于理解和使用JavaScript至关重要。

目录
相关文章
|
2月前
|
JavaScript 前端开发 安全
使用TypeScript增强JavaScript应用的类型安全性
【5月更文挑战第23天】TypeScript是微软开发的JavaScript超集,引入静态类型检查和面向对象特性,提升代码可维护性和可靠性。它在编译阶段捕获类型错误,增强代码可读性,并通过接口、类、泛型和类型断言等工具确保类型安全。使用TypeScript能有效避免复杂项目中的调试难题,尤其适合大型项目。
|
2天前
|
JavaScript 前端开发
JS的静态类型检测,有内味儿了
JS的静态类型检测,有内味儿了
|
5天前
|
存储 JavaScript 前端开发
JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)
【6月更文挑战第25天】JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)。
10 2
|
19天前
|
前端开发 JavaScript 安全
TypeScript作为一种静态类型的JavaScript超集,其强大的类型系统和面向对象编程特性为微前端架构的实现提供了有力的支持
【6月更文挑战第11天】微前端架构借助TypeScript提升开发效率和代码可靠性。 TypeScript提供类型安全,防止微前端间通信出错;智能提示和自动补全加速跨代码库开发;重构支持简化代码更新。通过定义公共接口确保一致性,用TypeScript编写微前端以保证质量。集成到构建流程确保顺利构建打包。在微前端场景中,TypeScript是强有力的语言选择。
30 2
|
2月前
|
存储 JavaScript 前端开发
JavaScript 中松散类型的理解
JavaScript 中松散类型的理解
16 1
|
2月前
|
JavaScript 前端开发
JS中运算符的算术、赋值、+、比较(不同类型之间比较)、逻辑
JS中运算符的算术、赋值、+、比较(不同类型之间比较)、逻辑
19 1
|
2月前
|
JavaScript 前端开发 Java
javascript是弱类型语言,一个函数参数可以接收不同类型的变量作为它的该参数
javascript是弱类型语言,一个函数参数可以接收不同类型的变量作为它的该参数
31 0
|
2月前
|
JavaScript 前端开发
前端 JS 经典:JS 基础类型和 typeof
前端 JS 经典:JS 基础类型和 typeof
22 0
|
2月前
|
Web App开发 前端开发 JavaScript
在 Chrome 开发者工具里配置哪些类型的 JavaScript 文件应该被调试器忽略
在 Chrome 开发者工具里配置哪些类型的 JavaScript 文件应该被调试器忽略
|
4天前
|
XML 缓存 JavaScript
一篇文章讲明白JS模板引擎之JST模板
一篇文章讲明白JS模板引擎之JST模板