每种编程语言都有不同的数据结构,了解这些数据的结构对于编写代码至关重要。
这一次,我将解释原始类型的属性,这是 JavaScript 中处理的数据类型之一。
原始类型
原始类型是一种不可变的数据类型,它管理值本身并被定义为具有无法更改的值。
例如数字值10,字符串“Hello”等。如果是对象类型,则可以更改值,但原始类型不能更改现有值。
原始类型如下:
数字
字符串
长整数
布尔值
undefined
null
符号
数字
编程中的数字分为整数,如 ,10小数如,用位数来表示数值。2108.510.21
编程中的数字可以分为整数(如15或320)和小数(如3.5或6.51),还可以使用位数等来表示值。
一些编程语言通过“整数”、“十进制”和“位数”来区分数值类型,但在 JavaScript 中只有一种数值类型:“IEEE754 双精度浮点数(64 位)”。
也就是说,JavaScript的数值是用小数表示的。
请查看示例代码:
const a = 10; const b = 20; console.log(a + b); // 30
简单计算会得出30的输出结果,但这只是表示出来的结果,内部结果其实是30.0。
以下计算的结果是什么?
const a = 0.1; const b = 0.2; console.log(a + b); // 0.30000000000000004
JavaScript的结果为0.30000000000000004。这与IEEE 754倍精度浮点的表示标准有关,用于在64位范围内表示小数。
数值有计算机能表示的,也有不能表示的(如π),数值的精度也有限制。因此,通过应用一个近似值来计算它,并获得这样的结果。
字符串
字符串是连续字符的集合。通过用“单引号”或“双引号”将字符括起来,使其显示为文本字符。
const greeting = 'Hello'; console.log(greeting); // "Hello"
长整数
长整数处理任意精度的整数。它可以处理 JavaScript 中不能与数字类型一起使用的大整数值。
const bigint = 9007199254740992n;
console.log(bigint); // 9007199254740992n
布尔值
布尔值取值真或假。它用于 JavaScript 中的各种情况,例如 if 语句和 for 语句。
const a = 3; console.log(a < 5); // true console.log(a === 0); // false
null和undefined
null 和 undefined 都表示没有值。
可以使用null赋值给变量来有意指示它没有值。
undefined是赋值之前的状态(没有赋值)。
let a = null; console.log(a); // null let b; console.log(b); // undefined
符号
符号是 ES6 中引入的一种相对较新的数据类型,具有唯一值。特点是每次创建时都会生成一个全新的符号。使用 typeof 运算符时,符号的数据类型返回符号。
let sym1 = Symbol('符号1'); let sym2 = Symbol('符号2'); console.log(typeof(sym1)); // "symbol" console.log(typeof(sym2)); // "symbol"
让我们看一个生成唯一值的示例。
let sym3 = Symbol(); let sym4 = Symbol(); console.log(sym3 === sym4); // false
这样一来,Symbol()即使 的内容相同,也总会产生不同的值,所以不用担心与其他值重叠。
结语
这一次,我们讲解了作为 JavaScript 数据类型之一的原始类型。
原始类型的特点是不可变的值。