深入了解JavaScript数据类型的原始类型

每种编程语言都有不同的数据结构,了解这些数据的结构对于编写代码至关重要。

这一次,我将解释原始类型的属性,这是 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。

深入了解JavaScript数据类型的原始类型

以下计算的结果是什么?

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 数据类型之一的原始类型。

原始类型的特点是不可变的值。